请教linux 和外部mcu串口通讯,并发、异步、阻塞问题!!

XianYo 发布于 2013/04/22 17:28
阅读 530
收藏 0
近段时间要做android下串口通信的东东,大概功能是android系统端的ARM和系统外的一个MCU通信。
有几种通讯方式(同一串口):
1、android上面可以用app和mcu进行串口通讯。
2、驱动下面的模块也要和mcu通过串口通讯。
   2.1、某模块需要每3秒通过串口读取mcu的信息;
   2.2、某模块需要在某一时刻通过串口和mcu通讯;


我想其中应该会涉及并发、异步、阻塞等。
现在我想再编写一个驱动模块,在这个模块内处理这些冲突。
系统和mcu进行串口通信都通过这个模块。


不知道这样做行不行?
大家有没有更好的方法?
能不能帮我想一下具体细化的编写思路?


希望高手们指导一下!
谢谢大家了!

加载中
0
JEMYZHANG
JEMYZHANG

android的app和驱动的模块通过串口访问的内容是一致的吗?我觉得如果要获取的内容不多,固定几个request和reply。

那么对于app的读操作,可以在驱动里面定时轮询,然后将轮询结果缓存,在app进行访问时,直接将缓存值返回,这样避免了app对串口的直接访问。

对于app的写操作,那么使用request队列的方式,发给内核驱动统一处理。

当然以上只是对于实时性要求不是非常高的系统而言的。

返回顶部
顶部