查看: 335|回复: 2

鹿小班LU-ASR01-第二硬串口配置方法

[复制链接]

4

主题

33

帖子

298

积分

中级会员

Rank: 3Rank: 3

积分
298
发表于 2022-5-2 18:23:41 | 显示全部楼层 |阅读模式
本帖最后由 libai500 于 2022-5-9 17:39 编辑

        日前经祝老师亲自评测,IO6,IO7可以作为第二串口使用,第二串口在天问程序中名为serial1,映射serial1到IO6、IO7方法如下图。早先IO7因映射不得要领,楼主一度认为IO7无法使用,幸好祝老师及时援手并发现要领得以纠正,现发布到论坛,希望对天问ASR用户有所帮助。
鹿小班IO号与引脚名称对照网友版(附IO6,IO7串口1用法).jpg
注意事项:有朋友反应启用串口1,播放声音会卡顿,这是因为丢了串口1通讯超时指令10mS。注意截图中的超时设置指令,该指令含义为:如果10mS内没有接收到新数据,接收函数返回线程调用,不在高速占用资源。默认是1秒,会长时间占用线程资源,导致语音播放任务的时间片被挤压而卡顿。ASR是基于FreeRTOS,构架非常精细灵活,但也需要合理使用,各线程之间需要互相留有余地,虽然多线程为抢占式,但也不能毫无节制的占用处理器时间片。以上细节原理在《TWEN-ASR高级编程手册》里有描述,不过还没出版。开个玩笑。
       当然,解决方法除了设置10mS或更快的超时限定外,还有降低接收线程优先级避让播放任务或重写一个非阻塞的帧接收代码,例如,判断接收缓冲区内是否有协议预案中需要的字节数,字节数够了再去读,不要一有数据就去读,诸如此类。相信大家各自自有妙招,我就不一一举例。



回复

使用道具 举报

0

主题

1

帖子

34

积分

注册会员

Rank: 2

积分
34
发表于 2022-5-5 15:23:53 | 显示全部楼层
很棒,有时间试验一下
回复

使用道具 举报

0

主题

1

帖子

18

积分

注册会员

Rank: 2

积分
18
发表于 2022-5-23 10:50:18 | 显示全部楼层
很强大,呀!实用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|好好搭搭在线 ( © 好好搭搭在线 浙ICP备19030393号-1 )

GMT+8, 2022-7-7 15:00 , Processed in 0.302214 second(s), 25 queries .

Powered by Discuz!

© 2001-2022 Comsenz Inc.

快速回复 返回顶部 返回列表