RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:9:30-18:00
你可能遇到了下面的问题
关闭右侧工具栏
基于双缓冲队列的串口通信模块的研究与实现
  • 作者:zhaozj
  • 发表时间:2020-12-23 11:01
  • 来源:未知

[此文已发表于《单片机与嵌入式系统应用》杂志,请勿转载]

 

       串口通信模块是单片机系统或者目前的嵌入式系统中常见的组成部分,被广泛的用于系统的调试和与外界的通信。一般的MCU都内置了串口的硬件控制模块,用户只需要编写比较简单的控制程序就可以使用串口通信。尽管如此,在实际使用中,考虑到效率和使用的方便性,有必要对串口通信软件进行仔细的设计,使得通过串口通信的其它软件模块能够比较简单和方便的使用,并且尽量不因为串口通信影响整个系统的性能。下面我们通过讨论常见的串口软件使用的方法,并提出基于一种称之为双缓冲队列的串口缓冲区管理策略的串口软件模块的实现方法和其中要注意的问题。

 

1     常用的串口处理方法

串口部分的底层软件可以认为是串口的驱动程序,对上层软件而言,它应该提供一种比较自然而简洁的使用方式。以串口的发送为例,使用者可以直接调用一个函数输出一个字符串或者就像在通用平台上使用标准C中的printf函数一样。