主题 : 为何4412 Android串口读写CPU消耗太高 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 105457
精华: 0
发帖: 23
金钱: 115 两
威望: 23 点
贡献值: 0 点
综合积分: 46 分
注册时间: 2014-06-24
最后登录: 2017-03-05
楼主  发表于: 2015-08-05 22:49

 为何4412 Android串口读写CPU消耗太高

官方提供了4412下串口的读数据函数:hardwareControler.select(devfd, 0, 0)

在Android中创建了一个service,并在线程中调用上述函数进行串口数据读写。单个线程在监听一个串口时CPU消耗为30%左右。
官方例程描述为:定义了一个Timer,每间隔500ms去轮训一遍,故我认为轮训机制是导致CPU消耗的问题所在。那么官方是否给出了中断方式接收串口数据呢?不知道有人接触过没?