当前位置: 技术问答>linux和unix
关于串口接收的问题,一直很疑惑……
来源: 互联网 发布时间:2015-08-03
本文导语: 对于串口接收数据,我有一个问题搞不明白,向大家请教。 我们知道,当数据过来的时候,可以调用read函数来读取数据。可是我不明白的是我怎么能保证每次调用read函数的时候都读到我想要的数据长度呢?串口接收...
对于串口接收数据,我有一个问题搞不明白,向大家请教。
我们知道,当数据过来的时候,可以调用read函数来读取数据。可是我不明白的是我怎么能保证每次调用read函数的时候都读到我想要的数据长度呢?串口接收数据是有一个过程的,如果在接收到一半的时候就调用了read函数,不是会破坏数据的完整性么?(因为我并不知道什么时候想要的数据到,只能循环的调用read)。
问题可能很幼稚,但是想不通,谢谢啦
我们知道,当数据过来的时候,可以调用read函数来读取数据。可是我不明白的是我怎么能保证每次调用read函数的时候都读到我想要的数据长度呢?串口接收数据是有一个过程的,如果在接收到一半的时候就调用了read函数,不是会破坏数据的完整性么?(因为我并不知道什么时候想要的数据到,只能循环的调用read)。
问题可能很幼稚,但是想不通,谢谢啦
|
你把接收到的数据要做完整性校验。如果你想到read一个字节你就会想通了。对读到的每个字节数据进行整理分析,根据协议。
|
读串口数据就是这样,有可能只读到一半或更少,这样就需要你做数据的校验工作。