Could you show us the code on the receiving side? How many characters do you receive? Do you convert the receive bytes to strings before printing them?
2015-02-11 6:21 GMT+01:00 liyaoshi <[email protected]>: > I only get a case with insert several zero on special platform a few years > ago > > Finally , I can only use ascII string convert first .then transfer over > uart and convert back in receiver > > I dont know if this is related with chipset , This case is only happen on > QNX platform 6.4.1 > > 2015-02-11 11:57 GMT+08:00 Przemek Klosowski <[email protected]> > : > >> I am not sure if I understand--please clarify. >> >> On Sun, Feb 8, 2015 at 11:25 AM, oli4gate <[email protected]> >> wrote: >> > Hi, >> > >> > over the uart port I would like to send out following hexadecimal string >> > C5C301000000000076. >> ... >> > unsigned char tx_buf[9] = >> > {0xC5,0xC3,0x01,0x00,0x00,0x00,0x00,0x00,0x76}; //unsigned is 0<>255 >> signed >> > is -128<>127 >> > unsigned char *p_tx_buf = &tx_buf[0]; //points to the first >> element of >> > the tx_buf >> > >> > int fd; >> > >> > //open uart2 for tx/rx, not controlling device >> > if((fd = open("/dev/ttyO4", O_RDWR | O_NOCTTY | O_NDELAY)) < 0) >> > printf("Unable to open uart2 access .\n"); >> > else >> > printf("uart2 opened succesfully.\n"); >> > >> > if(write(fd,&tx_buf,sizeof(tx_buf))<0) >> >> Ok, so you are not sending the hex string, but rather the binary >> values. I never ran it this way so I am not sure what might prevent it >> from working this way, but the following stack overflow discussion >> might be helpful: >> http://stackoverflow.com/questions/506805/binary-data-over-serial-terminal >> >> > printf("ERROR : tx not send.\n"); >> > else >> > for(unsigned int i = 0; i < sizeof(tx_buf); ++i) >> > { >> > std::cout << std::hex << (int)tx_buf[i]; >> > } >> > printf(" : tx send \n"); >> >> You do realize that the 'else' block contains just the for() {} loop >> and not the printf statement? >> (your indentation seems to indicate otherwise) I recommend using >> curly braces always even if the conditional block has just one >> statement. >> >> -- >> For more options, visit http://beagleboard.org/discuss >> --- >> You received this message because you are subscribed to the Google Groups >> "BeagleBoard" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> > > -- > For more options, visit http://beagleboard.org/discuss > --- > You received this message because you are subscribed to the Google Groups > "BeagleBoard" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
