这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 国产MCU » 带有FIFO的串口接收要如何实现呢?

共1条 1/1 1 跳转至

带有FIFO的串口接收要如何实现呢?

院士
2026-02-17 13:06:14     打赏

现在部分MCU的串口接收都带有FIFO功能了。与常规的接收触发中断不同,其要到达某个水线后才会触发。按此理论,其可以有效减少串口接收带来的中断触发,影响系统整体性能。但如果接收数据未达水线,则意味着MCU仅仅把数据暂存在FIFO中,而不会触发中断,也不会去读取。如果是这样,岂不是就失去了串口数据接收的及时性?

现实应用肯定不会是这样的!

在串口模块里面不仅有FIFO的水平中断触发,还有串口接收超时中断。即在接收到第一个字节后将开启超时中断。此时,如果在2个字节间隔下,如果没有数据字节接收,则触发串口超时中断,这时,依然可以接收到串口数据,并不会出现前面提到的FIFO水线之下,无法接收到数据的现象。

串口接收另外一个提高效率的实现方式就是使用串口DMA,这样,接收数据可以直接到指定内存位置,特别方便后续对数据进行处理。

总之,如果MCU带有FIFO设计,多半这颗MCU是属于中高端MCU。所以,充分学习,充分利用MCU的硬件设计来完成项目的业务实现。





关键词: 串口     接收     FIFO    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]