发送模块等待录音信号量。如果获得,表示一些新的数据在录音缓冲中已有效。将把新数据从录音缓冲拷入上层软件存储区,然后通过Socket把他发送到另一端主机。如果上层软件中的存储区满,丢弃旧分组存入新分组。
4.3 UDP接收
接收模块等待从Socket来的数据。如果获得播放信号量,表示播放缓冲区中的数据已被播放,将把上层软件存储区中的数据拷入播放缓冲;否则,任务将被挂起。如果上层软件中的存储区满,丢弃旧分组存入新分组。
5 遇到的主要问题
在本文所搭建的环境中,能较好地实现两块 声卡 之间的通话。开发过程中,主要遇到两个问题:
(1) 声卡中没有声音数据。声卡的FIFO缓冲区及DMA缓冲区中均没有数据。经分析查出:CS4297芯片中关于耳机和麦克风的寄存器没有打开和选中,耳机和麦克风一直处于“mute”状态。关掉"mute'’后,问题解决。
(2) 不能产生中断。DMA缓冲区中已有数据,根据程序设计,此时应产生中断,由上层通信模块取走声音数据,但中断一直不能产生。经分析原因为:在声卡探测程序段获得的中断级直接用作中继号来挂接中断。解决方法:通过中断级来获取中断向量,再获取中断号,用来挂接中断处理程序。
本文关键字:暂无联系方式嵌入式系统-技术,单片机-工控设备 - 嵌入式系统-技术
上一篇:挠性电路的特性和功效