一、Flash地址空间的数据读取
1.工程的建立
使用STM32CubeMX进行配置,重要配置如下:
SYS
RCC
引脚配置
时钟配置
堆栈大小
2.修改代码
main.c
并添加如下代码:
/* USER CODE BEGIN 1 */
uint8_t i;
uint8_t FlashTest[] = "Hello This is a Flash Test DEMO";
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
FlashWriteBuff( DEVICE_INFO_ADDRESS, FlashTest,sizeof(FlashTest) ); // 写入数据到Flash
for(i=0;i<255;i++)
FlashWBuff[i] = i;
FlashWriteBuff( DEVICE_INFO_ADDRESS + sizeof(FlashTest), FlashWBuff,255 ); // 写入数据到Flash
FlashReadBuff( DEVICE_INFO_ADDRESS + sizeof(FlashTest),FlashRBuff,255 ); // 从Flash中读取数
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
编译无错误
3.调试
添加变量观测窗口,并添加FlashWBuff,FlashRBuff变量
全速运行
4.结果
二、Flash的提示音播放程序
1. 使用DAC输出周期2khz的正弦波
新建一个音频文件
效果-生成-音调
效果-生成基本音色
导出为wav文件
用DAC将数字音频歌曲转换为模拟音频波形输出
三、总结
本实验通过DAC或PCM音频模块能够基本还原出原始正弦波声音,并还原了音频播放任务。让我在过程中收获较多。
四、参考文献
https://blog.csdn.net/pink_lemon/article/details/122232886
版权声明:本文为CSDN博主「小罗de社区」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_61878156/article/details/122243932
一、Flash地址空间的数据读取
1.工程的建立
使用STM32CubeMX进行配置,重要配置如下:
SYS
RCC
引脚配置
时钟配置
堆栈大小
2.修改代码
main.c
并添加如下代码:
/* USER CODE BEGIN 1 */
uint8_t i;
uint8_t FlashTest[] = "Hello This is a Flash Test DEMO";
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
FlashWriteBuff( DEVICE_INFO_ADDRESS, FlashTest,sizeof(FlashTest) ); // 写入数据到Flash
for(i=0;i<255;i++)
FlashWBuff[i] = i;
FlashWriteBuff( DEVICE_INFO_ADDRESS + sizeof(FlashTest), FlashWBuff,255 ); // 写入数据到Flash
FlashReadBuff( DEVICE_INFO_ADDRESS + sizeof(FlashTest),FlashRBuff,255 ); // 从Flash中读取数
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
/* USER CODE BEGIN 2 */
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
编译无错误
3.调试
添加变量观测窗口,并添加FlashWBuff,FlashRBuff变量
全速运行
4.结果
二、Flash的提示音播放程序
1. 使用DAC输出周期2khz的正弦波
新建一个音频文件
效果-生成-音调
效果-生成基本音色
导出为wav文件
用DAC将数字音频歌曲转换为模拟音频波形输出
三、总结
本实验通过DAC或PCM音频模块能够基本还原出原始正弦波声音,并还原了音频播放任务。让我在过程中收获较多。
四、参考文献
https://blog.csdn.net/pink_lemon/article/details/122232886
版权声明:本文为CSDN博主「小罗de社区」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_61878156/article/details/122243932
暂无评论