串口读16进制,读的时候没数据等

读十六进制直接声明int数组接收就可以了。

0x89与0x98,忽略进位的校验和是0x11,计算方法是:((0x89>>4+0x98>>4)&0xf)<<4+((0x89+0x98)&0xf)

读串口,特别是模块的传输速率比较慢是,注意要加一个等待的动作,可以用printf()函数来消耗下时间,这样保证在程序结束前能读到数据。pc一个串口数据解码的函数大约用时30微秒,模块的速度有就差远了,读一帧可能要几万微秒,不等的话可能读不到数据程序就结束了。

记录用,不对内容负责


你可能感兴趣的:(串口读写)