【实验室笔记】serialport的readline()方法

在最近的小项目中,单片机中断优先级的问题,串口发送到上位机的数据有时会出现发送的数据被中断打断的问题。

于是,在上位机机上就容易出现错误,原来读取的方法是read()的方法,反复修改发送数据的格式依然没有好转。

后来讲将上位机的读取方式换成readline()问题得到了解决,且百发百中,问题可能归结于readline方法自身的特性吧。

readline会一直在那里等候,知道接收到换行符"\r\n",所以在没有接收到完整数据时,会一直在那里等候数据的到来,不离不弃。

即便下位机的数据发送过程被其他中断打断。

readline返回的是字符串,所以接收变量也应该是字符串变量即可,然后分解数据包,其他的处理过程是一样的。

 

posted on 2016-11-06 21:49  HelloWorldTotti  阅读(5380)  评论(0编辑  收藏  举报

导航