字节接收缓冲系统设计的核心思想:
1:前台(即中断)负责接收数据,并不进行处理,将数据放入消息队列中。
2:后台(main函数)负责从消息队列中取出消息,并处理。
3:整个接收系统核心为 队列,可以当做缓冲区;遵循先进先出原则 FIFO
采用队列方式接收数据比较简单,并且实现了缓冲,不会出现数据的丢失。
一般串口收发
1)方法:接收一个数据,触发中断,然后把数据发回来。
2)特点:没有缓冲的 ;当数量太大的时候,亦或者当数据接收太快的时候,我们来不及处理已经收到的数据,那么,当再次收到数据的时候,就会将之前还未处理的数据覆盖掉。那么就会出现丢包的现象了,对我们的程序是一个致命的创伤。
环形缓冲区收发:
1)优点:将接受的数据缓存一下,让处理的速度有些许缓冲,使得处理的速度赶得上接收的速度。
空闲中断与DMA传输:
1)效率更高,但是某些单片机没有空闲中断与DMA,环形缓冲区的作用就很大了,并且移植简便。