zynq ucos uart串口编程

2015-07-23 21:59 阅读 1,628 次 评论 0 条

在zynq ucosiii BSP中,ucos为uart提供了两个发送数据函数,一个用于发送单个字符,另一个是字符串发送函数。一个单字节接收函数。都用了互斥信号量与信号量。

以下图中的uart发送数据为例,首先是互斥信号量,将uart发送资源占用。然后在中断使能的情况下,在发送过程中建立发送信号量,并等待信号量到来。在uart的中断服务函数中,产生信号量,从而执行写入uart FIFO操作,即发送数据。重复上面的操作直到发送字符串结尾。

注意:这个函数只能用来发送字符串,字符串以'\0’结束。不能发送一段数据的缓存区,因为数据中可能函数0x00,或者不含有0x00,将分别造成数据发送不全,与数据发送过多。

zynq ucosiii uart bsp发送字符串函数

uart接收数据与发送数据处理相类似,主要处理的时间串口发送或接收数据较慢,将两个数据之间的等待时间的cpu时间空出来,供其他任务使用。

uart的发送与接收使用不同的互斥信号量,所以uart的接收与发送可以同时进行,符合uart全双工通信的特点。

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:zynq ucos uart串口编程 | 起点博客
分类:应用笔记 标签:, , , ,

发表评论


表情