【车载HIFI播放器开发】使用golang播放WAV,MP3,FLAC,OGG等音频
这里使用Mp3库为:
https://github.com/faiface/beep
这个库可解析播放的文件有WAV, MP3, OGG和FLAC。
参考官方的Wiki文档可以写出如下测试文件:
|
|
上面的Play函数中考虑到speaker.Play(streamer)是异步调用,所以使用了select进行阻塞。如果要实现停止操作,则使用for语名再配合select对通信信号进行监听就好了。
这里使用Mp3库为:
https://github.com/faiface/beep
这个库可解析播放的文件有WAV, MP3, OGG和FLAC。
参考官方的Wiki文档可以写出如下测试文件:
|
|
上面的Play函数中考虑到speaker.Play(streamer)是异步调用,所以使用了select进行阻塞。如果要实现停止操作,则使用for语名再配合select对通信信号进行监听就好了。
本项目是车载HIFI播放器,开发语言采用Go.
使用golang完成gpio控制是其中一个功能之一.
通过修改/sys/class/gpio下面的相关文件实现的库:github.com/brian-armstrong/gpio
简单地说:
单工通信只有a到b,比如“广播”
半双工通信可以从a到b,从b到a,但不能同时进行。 例如,收发器
全双工通信可以从a到b、从b到a,可以同时进行。 例如,[电话]
RS485是一个定义平衡数字多点系统中的驱动器和接收器的电气特性的标准,该标准由电信行业协会和电子工业联盟定义。
使用该标准的数字通信网络能在远距离条件下以及电子噪声大的环境下有效传输信号。
菊花链模式是简化的级联模式,主要的优点是提供集中管理的扩展端口,对于多交换机之间的转发效率并没有提升,主要是因为菊花链模式是采用高速端口和软件来实现的。
菊花链模式是简化的级联模式,主要的优点是提供集中管理的扩展端口,对于多交换机之间的转发效率并没有提升,主要是因为菊花链模式是采用高速端口和软件来实现的。
芯片:STC8A8K64S4A12
关于此芯片的重要说明:
2022-2-24到2022-3-21期间生产的此型号 程序空间为63K, EEPROM 固定为1K, EEPROM大小无法修改 其它时间生产的此型号的程序空间和EEPROM参数都是正确的 即: 程序空间为63.5K, EEPROM默认为0.5K, EEPROM大小可修改
在线ISP,主要依靠IAP_CONTR寄存器,使用IAP_CONTR=0x60
触发单片机进入ISP模式,而不需要冷启动,减少调试时的麻烦,可配合自定义串口命令,可使用官方提供的ISP软件,或者利用官方提供的Upgrade.exe
自行开发软件。
基于单片机的数据采集系统方案,该方案根据热敏电阻随温度变化而变化的特性,采用串联分压电路。
单片机采集热敏电阻的电压,通过A/D转换将模拟量电压信号转换成数字量电压信号,
经过查表转换得到温度值,控制LCD实时显示温度值。
FatFS一般作为一个文件系统,存储介质支持USB,SD卡,NANDFlash等等, 这里主要介绍下如何对接SD卡使用。
由于UI是采用LVGL来实现的,而且大面积用到了贴图和动画效果,占用的存储空间远远超过芯片的存储空间, 所以准备把资源部分单独以BIN格式的文件存放到sd卡上,sd卡的文件系统格式采用FAT32的,这样子程序和资源 就分离开了,程序直接存放到芯片的flash中,图片资源独立存放到sd卡上。