当前位置: 技术问答>linux和unix
求助:有关串口发送字符串问题
来源: 互联网 发布时间:2016-03-26
本文导语: 我想往串口发送一串 16进制的数 如下:unsigned char SendBuf[]={0x0B,0xDF,0x00,0x07,0x00,0x00,0x21,0x00,0x00,0x00,0x00,0x00,0x01,0xE8,0x0C}; write(fdcom, SendBuf, strlen(SendBuf)); 我打印了一下strlen(),发现打印的是2,可是我想发送的...
我想往串口发送一串 16进制的数
如下:unsigned char SendBuf[]={0x0B,0xDF,0x00,0x07,0x00,0x00,0x21,0x00,0x00,0x00,0x00,0x00,0x01,0xE8,0x0C};
write(fdcom, SendBuf, strlen(SendBuf));
我打印了一下strlen(),发现打印的是2,可是我想发送的是15个字节的16进制数啊,怎么会这样?
那它往串口发送的到底是什么啊?
如何让它往串口一下发送那15个16进制数啊?
如下:unsigned char SendBuf[]={0x0B,0xDF,0x00,0x07,0x00,0x00,0x21,0x00,0x00,0x00,0x00,0x00,0x01,0xE8,0x0C};
write(fdcom, SendBuf, strlen(SendBuf));
我打印了一下strlen(),发现打印的是2,可是我想发送的是15个字节的16进制数啊,怎么会这样?
那它往串口发送的到底是什么啊?
如何让它往串口一下发送那15个16进制数啊?
|
write(fdcom, SendBuf, strlen(SendBuf));
======================================
strlen(SendBuf)计算出来的长度是不对的,
你应该用 sizeof(SendBuf) 来计算长度。
也就是说应该写成
write(fdcom, SendBuf, sizeof(SendBuf));
======================================
strlen(SendBuf)计算出来的长度是不对的,
你应该用 sizeof(SendBuf) 来计算长度。
也就是说应该写成
write(fdcom, SendBuf, sizeof(SendBuf));
|
for(i=0; i
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
站内导航:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!