请教linux 和外部mcu串口通讯,并发、异步、阻塞问题!!-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

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

a123456678 2016-06-13 17:11:05 1248

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

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

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

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

Linux Android开发
分享到
取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:36:30

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

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

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

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

    0 0

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程