static void CPU_CACHE_Enable(void) { /* 使能 I-Cache */ SCB_EnableICache(); /* 使能 D-Cache */ SCB_EnableDCache(); } 每10ms调用一次蜂鸣器处理: 蜂鸣器处理是在滴答定时器中断里面实现,每10ms执行一次检测。 /* *** * 函数名: bsp_RunPer10ms * 功能说明: 该函数每隔10ms被Systick中断调...
HAL_MPU_ConfigRegion(&MPU_InitStruct); /*使能 MPU */ HAL_MPU_Enable(MPU_PRIVILEGED_DEFAULT); } /* *** * 函数名: CPU_CACHE_Enable * 功能说明: 使能L1 Cache * 形 参: 无 * 返回值: 无 ***
*/voidbsp_Init(void){/* 配置MPU */MPU_Config();/* 使能L1 Cache */CPU_CACHE_Enable();/* STM32H7xx HAL 库初始化,此时系统用的还是H7自带的64MHz,HSI时钟: - 调用函数HAL_InitTick,初始化滴答时钟中断1ms。 - 设置NVIV优先级分组为4。 */HAL_Init();/* 配置系统时钟到400MHz - 切换使用HSE。
HAL_MPU_ConfigRegion(&MPU_InitStruct); /*使能 MPU */ HAL_MPU_Enable(MPU_PRIVILEGED_DEFAULT); } /* *** * 函数名: CPU_CACHE_Enable * 功能说明: 使能L1 Cache * 形 参: 无 * 返回值: 无 ***
{/*配置MPU*/MPU_Config();/*使能L1 Cache*/CPU_CACHE_Enable();/*STM32H7xx HAL 库初始化,此时系统用的还是H7自带的64MHz,HSI时钟: - 调用函数HAL_InitTick,初始化滴答时钟中断1ms。 - 设置NVIV优先级分组为4。*/HAL_Init();/*配置系统时钟到400MHz ...
static void CPU_CACHE_Enable(void) { /* 使能 I-Cache */ SCB_EnableICache(); /* 使能 D-Cache */ SCB_EnableDCache(); } 主功能: 主功能的实现主要分为两部分: 启动自动重装软件定时器0,每100ms翻转一次LED2。 K1键按下,操作AXI SRAM。
*/voidbsp_Init(void){/* 配置MPU */MPU_Config();/* 使能L1 Cache */CPU_CACHE_Enable();/* STM32H7xx HAL 库初始化,此时系统用的还是H7自带的64MHz,HSI时钟: - 调用函数HAL_InitTick,初始化滴答时钟中断1ms。 - 设置NVIV优先级分组为4。
{/*配置MPU*/MPU_Config();/*使能L1 Cache*/CPU_CACHE_Enable();/*STM32H7xx HAL 库初始化,此时系统用的还是H7自带的64MHz,HSI时钟: - 调用函数HAL_InitTick,初始化滴答时钟中断1ms。 - 设置NVIV优先级分组为4。*/HAL_Init();/*配置系统时钟到400MHz ...
CPU_CACHE_Enable(); /* STM32H7xx HAL 库初始化,此时系统用的还是H7自带的64MHz,HSI时钟: - 调用函数HAL_InitTick,初始化滴答时钟中断1ms。 - 设置NVIV优先级分组为4。 */ HAL_Init(); /* 配置系统时钟到400MHz - 切换使用HSE。 - 此函数会更新全局变量SystemCoreClock,并重新配置HAL_InitTick。 *...
程序完全按照代码顺序执行,CPU需要等待当前的加载/存储指令执行完毕后才执行下一条指令。这样会导致性能下降。 23.5 MPU的寄存器和对应的库参数 关于MPU的寄存器介绍在STM32H7的编程手册有专门的讲解说明,我们这里重点讲解寄存器MPU_RASR和控制寄存器,此寄存器的定义如下: ...