韩邵晨编了个小程序,让电脑通过USB接口进行反复的读写测试,看看功能是否稳定。李志刚在旁边看着他就在临近下班的时间里刷刷敲好代码,编译运行,也有些吃惊:“韩工,你除了在设备上写驱动程序和硬件,也懂在电脑上写应用程序啊?”
“这种小程序很快的,不用懂很多。”韩邵晨起身看到谭明明的表情有些不对劲,原本很难从外表体会别人心情的他,最近就像打通了任督二脉,居然能感觉到这姑娘现在很头大。
“怎么了?”韩邵晨走过去问。
“师傅啊!”谭明明像看到救星一样,就差扑过来抱大腿了,“师傅你有空吗?我怎么调声音都不连续,配置也看了好几遍,文档都被我翻烂了,实在是找不出原因啊。怎么办~”
韩邵晨拉了个椅子坐了下来,谭明明的眼睛都快冒星星了:“师傅,我有好好看文档,但是真的实在没发现问题,音频的硬件人员我也找他确认过了,软件配置也都对着呢,可是怎么是这个鬼声音呢?”
听了一天,韩邵晨心里多少有点谱,他也想让谭明明自己解决,但徒弟这副样子,实在有点看不下去,大致浏览了下配置代码,确实没问题。
再看音频播放数据搬运部分,韩邵晨点了点屏幕:“你这是把DMA当中断用了吗,一次才搬这么点数据,这么慢,声音肯定不连贯。”
“啊?”谭明明有些傻眼。
DMA(Direct Memory Access存储器直接访问)是用来实现高速外设和存储器之间自动进行数据传输,用DMA控制器来开始和结束数据传输。这样不用一直占用CPU来进行数据读写,同时速度更快,在需要连续不断的播放音频视频的场景下,用起来是很方便的。
韩邵晨边起身边说:“先去吃饭吧,应该就是这个原因。不要光看音频文档,DMA文档也看看,你这是从哪里拷贝来的代码,不知道根据使用情况调整一下传输参数吗?”
“哦,好,谢谢师傅。”谭明明有些明白过来,一次能传输大段数据的DMA,似乎被她配置得一次只能传几个字节,不停的进行控制操作,数据传输速度跟不上,声音当然不连续了。
心里有谱,就没那么慌乱了,尽管早就知道韩邵晨技术过硬,谭明明还是忍不住感慨,“要是这个项目都是像师傅这样,哪个模块都懂的工程师来做,那进度啊质量啊哪里还是问题。”
韩邵晨也这么认为,但是想一想人员列表里三分之一的新人,三分之一多才工作一两年就被认为是老员工的,剩下不到三分之一的,也大都是只专注于一两个比较复杂模块的开发上。谭明明的说法只能是个美丽的幻想。
“人员更替,新陈代谢总是必要的。”沉默了半晌,韩邵晨居然也发表了自己的看法,“新人也需要锻炼,在项目里工作最锻炼人,你不也是这样成长起来的?”
“可是还是不行,你看我自己都搞不定。”谭明明自己吐槽,“我还以为我不需要麻烦你了呢。”
“你只是不熟,而且之前接触的都是红外,I2C这类的低速设备,经验不足而已,不是能力问题。”韩邵晨觉得自己说的很客观。
