关于串口说实话,自己也看了很多,基本点一直都是知道的,但是一直难以突破,真真去做实在迷糊,关于stm32的串口不是很懂,资源太多,无法详细解读相关寄存器(英语能力有限,看的少),每次看到数据处理这部分都是难以突破,不知道他发送/接受里面的数据:比如0x08之类是哪来的,不好找。这一类解读网上也不好找详细介绍,网上主要都是讲函数作用,这些自己都知道。无意中在armlinux书中看到关于串口的一些知识,现有一个问题,串口发送接收,为了保证数据的完整性,不丢失,是通过高位标志和低位标志来控制的,即置1置0.但书中说当接收端数据超过缓冲区的高标志位后,串口控制器把CTS信号线置为低电平,表示停止数据发送,同理,CTS置高数据开始发送。假设高位标志位为第8位,刚好一个字节,发送第9位,才停止发送,接收端应该并没有接收到第9位数据,这样不还是丢失了一位数据吗?即每次丢失1位数据,串口打印显示的话,到这边应该乱码的?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>