关于LabVIEW串口读取数据

2025-03-07 15:09:47
推荐回答(1个)
回答1:

        这个多半是因为你读取的字串有结尾符(例如有些通信协议以0x0D,即回车符,做结尾符)。假设有个结尾符,那么你读取接收缓冲区相应长度的字符串后,由于没有考虑结尾符,它就会留在缓冲区中,你下一组字符串的第一个字符就被移到下一行了(回车符同时可以换行),这样你每次读的都是上一次的第一个字符和本次的除了第一个字符剩下的字符。就会产生你说的现象。

        解决办法

  1. 每次读完后加一个清除缓冲区动作

  2. 假如你原来每次读取的是12个字符,而结尾符是一个字符,那么每次多读一个字符,即读取13个字符

    总之只要每次你读完后保证接收缓冲区是空的就可以了