比如你要发送0x01,0x02,0x03,0x04,
char buf[256]={0x01,0x02,0x03,0x04}
write(fd,buf,4)
直接往你的串口写四个字节的数就可以了,在你的另一个程序中读取你往串口写的那几个数,十六进制打印出来就可以了。
Linux特点是所有都是文件
包括串口设备
首先 找到你串口对应的设备 一般是 /dev/ttyS1
当然 也可能是别的 需要你自己确认硬件。
然后 比如你要发送0x01,0x02,0x03,0x04,
int fd fd = open("/dev/ttyS1",O_RDWD)char buf[256]={0x01,0x02,0x03,0x04}
write(fd,buf,4)
close(fd)
这样就可以了。
这个。。。为了避免在信息里不能出现保留字,所以它只能通过字符发送,比如有个0x0d 0x0a那就完了,自己写个转换函数么void UncharToHex(char *data,unsigned char sourcedata)
{
unsigned char a = sourcedata >>4
data[0] = a >9? 'A'+ a -10:'0' + a
a = sourcedata &0x0f
data[1] = a >9? 'A'+ a -10:'0' + a
}
data是出口参数,当指针传递用- -!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)