stm32h7 串口idle_【STM32H7教程】第30章 STM32H7的USART应用之八个串口FIFO实现

这篇博客介绍了如何在STM32H7上配置MPU和Cache,以及如何实现八个串口FIFO,包括启用事件记录器、按键初始化、滴答定时器、串口初始化等。同时,展示了主函数中对串口命令和按键事件的处理,以及每10ms的蜂鸣器处理。文章总结强调了8串口FIFO的简易移植性。
摘要由CSDN通过智能技术生成

- 默认不开启,如果要使能此选项,务必看V7开发板用户手册第xx章

*/

#if Enable_EventRecorder == 1

/* 初始化EventRecorder并开启 */

EventRecorderInitialize(EventRecordAll, 1U);

EventRecorderStart();

#endif

bsp_InitKey();    /* 按键初始化,要放在滴答定时器之前,因为按钮检测是通过滴答定时器扫描 */

bsp_InitTimer();  /* 初始化滴答定时器 */

bsp_InitUart();/* 初始化串口 */

bsp_InitExtIO();/* 初始化FMC总线74HC574扩展IO. 必须在 bsp_InitLed()前执行 */

bsp_InitLed();    /* 初始化LED */

}

MPU配置和Cache配置:

数据Cache和指令Cache都开启。配置了AXI SRAM区(本例子未用到AXI SRAM)和FMC的扩展IO区。

/*

*********************************************************************************************************

*函 数 名: MPU_Config

*功能说明: 配置MPU

*形    参: 无

*返 回 值: 无

*********************************************************************************************************

*/

static void MPU_Config( void )

{

MPU_Region_InitTypeDef MPU_InitStruct;

/* 禁止 MPU */

HAL_MPU_Disable();

/* 配置AXI SRAM的MPU属性为Write back, Read allocate,Write allocate */

MPU_InitStruct.Enable           = MPU_REGION_ENABLE;

MPU_InitStruct.BaseAddress      = 0x24000000;

MPU_InitStruct.Size             = MPU_REGION_SIZE_512KB;

MPU_InitStruct.AccessPermiss

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值