嵌入式-数据通讯机制(串口)

字节接收缓冲系统设计的核心思想:
1:前台(即中断)负责接收数据,并不进行处理,将数据放入消息队列中。
2:后台(main函数)负责从消息队列中取出消息,并处理。
3:整个接收系统核心为 队列,可以当做缓冲区;遵循先进先出原则 FIFO
采用队列方式接收数据比较简单,并且实现了缓冲,不会出现数据的丢失。

一般串口收发

1)方法:接收一个数据,触发中断,然后把数据发回来。

2)特点:没有缓冲的 ;当数量太大的时候,亦或者当数据接收太快的时候,我们来不及处理已经收到的数据,那么,当再次收到数据的时候,就会将之前还未处理的数据覆盖掉。那么就会出现丢包的现象了,对我们的程序是一个致命的创伤。

环形缓冲区收发:

1)优点:将接受的数据缓存一下,让处理的速度有些许缓冲,使得处理的速度赶得上接收的速度。

空闲中断与DMA传输:

1)效率更高,但是某些单片机没有空闲中断与DMA,环形缓冲区的作用就很大了,并且移植简便。

 

你可能感兴趣的:(C语言,嵌入式)