下一章就变日常多啦
第 30 章
在时不时响起磕磕绊绊的《采蘑菇的小姑娘》音乐中,USB Type-C的数据传输功能在一天之内顺利调通了,几乎没出什么差错。
而《采蘑菇的小姑娘》却始终杂音环绕,不见什么起色。
谭明明调了一天越来越沮丧,她知道韩邵晨很忙,也看过他写的那封长长的邮件,实在不想去打扰自己师傅,但是之前负责音频模块的软件人员正好出差,远程也没办法帮她调试,有点求助无门。
韩邵晨编了个小程序,让电脑通过USB接口进行反复的读写测试,看看功能是否稳定。李志刚在旁边看着他就在临近下班的时间里刷刷敲好代码,编译运行,也有些吃惊:“韩工,你除了在设备上写驱动程序和硬件,也懂在电脑上写应用程序啊?”
“这种小程序很快的,不用懂很多。”韩邵晨起身看到谭明明的表情有些不对劲,原本很难从外表体会别人心情的他,最近就像打通了任督二脉,居然能感觉到这姑娘现在很头大。
“怎么了?”韩邵晨走过去问。
“师傅啊!”谭明明像看到救星一样,就差扑过来抱大腿了,“师傅你有空吗?我怎么调声音都不连续,配置也看了好几遍,文档都被我翻烂了,实在是找不出原因啊。怎么办~”
韩邵晨拉了个椅子坐了下来,谭明明的眼睛都快冒星星了:“师傅,我有好好看文档,但是真的实在没发现问题,音频的硬件人员我也找他确认过了,软件配置也都对着呢,可是怎么是这个鬼声音呢?”
听了一天,韩邵晨心里多少有点谱,他也想让谭明明自己解决,但徒弟这副样子,实在有点看不下去,大致浏览了下配置代码,确实没问题。
再看音频播放数据搬运部分,韩邵晨点了点屏幕:“你这是把DMA当中断用了吗,一次才搬这么点数据,这么慢,声音肯定不连贯。”
“啊?”谭明明有些傻眼。
DMA(Direct Memory Access存储器直接访问)是用来实现高速外设和存储器之间自动进行数据传输,用DMA控制器来开始和结束数据传输。这样不用一直占用CPU来进行数据读写,同时速度更快,在需要连续不断的播放音频视频的场景下,用起来是很方便的。
韩邵晨边起身边说:“先去吃饭吧,应该就是这个原因。不要光看音频文档,DMA文档也看看,你这是从哪里拷贝来的代码,不知道根据使用情况调整一下传输参数吗?”
“哦,好,谢谢师傅。”谭明明有些明白过来,一次能传输大段数据的DMA,似乎被她配置得一次只能传几个字节,不停的进行控制操作,数据传输速度跟不上,声音当然不连续了。