今天遇到个特别奇怪的问题,想着分享出来,供大家参考一下,也算是给自己做个笔记。
我在使用串口接收数据时,发现接收到的数据,要么不对,要么就没有。花了很长的时间找问题。浪费时间不说,其中的辛苦不言而喻。总之最后是找到memcpy函数复制字节错了,本来接收到的数据(rebuf[])是没有错的rebuf是接收到的正确的数据,但是经过memcpy函数复制后,如下图
OpenMV_Rx_BUF是复制以后的数组,可以看到只有前两个正确。找到问题以后,我心里也是一万个草泥马。
接下来就是这个问题该怎么解决呢?
后来百度了一下,有些人说,前面加延时函数就好了,亲测,我的函数没用。
再后来,干脆不用memcpy函数了,
直接改成单独赋值就好了。
你妹的,都是泪啊