1. 12864液晶
2. DAC语音
3. USB-BOOT虚拟串口
4. 4G网络模块
2:24*24点阵,扫描转换。让第一个字节分别存在8个地址的首位或尾位完成转换。
3:文字下半部分不正确。已解决:FLASH跨页问题
4:卡死机问题,新加的解决跨页问题函数,因定义32位数据导致死机,具体原因不明。怀疑栈空间不足
二:语音
使用DAC直接输出功放
要 +0x8000 后再 右移6位,送 DA 或 PWM
2、WAV文件 有多种格式,一定要确认是 PCM的,不能用ADPCM格式
数据-0x80属于补码操作。(u8)用来把左移4位的数变成u8类型。如下:
1000 0011->(u8)(1000 0011 0000)->0011 0000。用于去掉正数补码遗留的符号位。
temp=(((u8)(sound_data[aa+1]-0x80)<<4)|(sound_data[aa]>>4)); //去尾
DAC_SetChannel1Data(DAC_Align_12b_R, temp); //12位右边对齐
8位的低噪大。
三:虚拟串口USB-BOOT驱动安装说明
1.插入USB设备可直接识别并自动安装成功,既可使用。
2.插入USB设备可直接识别,但无法安装成功。则需要到设备管理手动更新,选择目录为C:\Program Files (x86)\STMicroelectronics\Software\Virtual comport driver\Win7。没有找到该目录则需要下载USB虚拟串口驱动。
3.插入USB设备可直接识别,则需要安装USB虚拟串口驱动后再重新插拔,然后看情况照1或2继续执行。
由原子103虚拟串口实验修改而来
USB_BOOT速度只有10K的原因,是因为FLASH的读写擦速度导致的。下图为FLASH的时序图。
照目前USB的原理上可达到64K,1ms发送一次(一包为64byte)。因FLASH速度限制了,导致速度在10K左右。