今天终于把手机与单片机间音频双向通讯搞稳定了,迈开了成功的第一步。
可以稳定的相互传输一大段数据,两端都能完全正确识别数据。
上周已经搞定了手机向单片机通过audio发送数据。
但是手机通过mic接收单片机返回的数据一种有问题。
最主要的问题是,音频信号在出入单片机时都很稳定,但是手机mic采样后的波形很不稳定。
一般的随机数据,都可以正常传输。
但如果有连续多个的1或0的数据信号(比如有4个0xFF或0x00),波形的后半部分会变混乱,导致解码程序无法正常处理。
搞了2天,发现是手机内置的隔直电容的问题。其把音频信号中的大段高电平信号给干掉了。
除了在硬件上解决问题外,软件上也可以处理。
软件上解决的方法很简单,可以把数据中间插入足够多的干扰数据,从而使得不存在连续多的0或1。