在ucos中如何多串口编程

[复制链接]
4640|9
 楼主| 349264710 发表于 2013-3-24 17:29 | 显示全部楼层 |阅读模式
一般系统中有不止一个串口,假设有两个串口,串口1的优先级比串口2高,如何在一个任务中处理两个串口的接收发送?目前我只会用信号量,只能实现单串口编程。
jlass 发表于 2013-3-25 09:43 | 显示全部楼层
一个怎么做两个就怎么做,只是不能死循环等待,最好用中断处理。
付振平 发表于 2013-3-25 09:50 | 显示全部楼层
dirtwillfly 发表于 2013-3-25 09:59 | 显示全部楼层
二楼正解,在ucos中用中断就好
lr2131 发表于 2013-3-25 10:12 | 显示全部楼层
两个串口2个独立中断嘛,任务和中断之间的交互再加个标记量和锁嘛
sufeng983 发表于 2013-3-25 17:13 | 显示全部楼层
2个中断接受数据字节,然后通过队列发送给任务,发送的时候,把数据长度、数据、所属串口,全部打包一起传过去。
 楼主| 349264710 发表于 2013-3-25 19:00 | 显示全部楼层
jlass 发表于 2013-3-25 09:43
一个怎么做两个就怎么做,只是不能死循环等待,最好用中断处理。

我只会在一个任务中等待一个串口接收中断的信号量,如何等待两个串口中断的信号量?用事件标志组还是用消息队列?
jlass 发表于 2013-3-26 08:39 | 显示全部楼层
349264710 发表于 2013-3-25 19:00
我只会在一个任务中等待一个串口接收中断的信号量,如何等待两个串口中断的信号量?用事件标志组还是用消 ...

都说了不能用等待了,用中断。
HORSE7812 发表于 2013-8-17 15:24 | 显示全部楼层
greadber 发表于 2013-8-18 15:58 | 显示全部楼层
一是波特率,波特率低的比较好处理
二是CPU有没有UART FIFO BUFFER, 有就一定要利用!
三是收发都用中断,中断只处理接收及发送
四是接收中断后发消息,处理数据在任务中进行
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:专注成就专业,跟对的人做对的事。欢迎交流,企鹅号就是我的ID。

3

主题

77

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部