// // Created by iflyt on 2025/2/27. // #include "bsp.h" #include "LED/exti_key_manager.h" #include "uart_cmd/cmd_receive_service.h" /* ********************************************************************************************************* * 函 数 名: bsp_Init * 功能说明: 初始化所有的硬件设备。该函数配置CPU寄存器和外设的寄存器并初始化一些全局变量。只需要调用一次 * 形 参:无 * 返 回 值: 无 ********************************************************************************************************* */ void bsp_Init(void) { /* STM32H7xx HAL 库初始化,此时系统用的还是H7自带的64MHz,HSI时钟: - 调用函数HAL_InitTick,初始化滴答时钟中断1ms。 - 设置NVIV优先级分组为4。 */ // HAL_Init(); /* 配置系统时钟到400MHz - 切换使用HSE。 - 此函数会更新全局变量SystemCoreClock,并重新配置HAL_InitTick。 */ // SystemClock_Config(); DBG_UART_Init(); CMD_DMA_Init(); // 指令 收发 UART 初始化 CMD_UART_Init(); EXHAL_UART_BindUart("CMD_UART", &CMD_UART); CmdReceiveService_Init(); // 接收指令,解析指令,执行指令 CAN1_Init(); LED_Init(); #if 1 EX_GPIO_Init(); // 外部中断初始化 MYI2C_Init(&SENx,2000,0x38); //温湿度传感器 2000:读取数据周期2S; 0x38:AHT20地址 MX_ADC1_Init(); #endif #if 0 app_init(); #endif } #if 0 /* ********************************************************************************************************* * 函 数 名: Error_Handler * 形 参: file : 源代码文件名称。关键字 __FILE__ 表示源代码文件名。 * line :代码行号。关键字 __LINE__ 表示源代码行号 * 返 回 值: 无 * Error_Handler(__FILE__, __LINE__); ********************************************************************************************************* */ void Error_Handler(char *file, uint32_t line) { /* 用户可以添加自己的代码报告源代码文件名和代码行号,比如将错误文件和行号打印到串口 printf("Wrong parameters value: file %s on line %d\r\n", file, line) */ /* 这是一个死循环,断言失败时程序会在此处死机,以便于用户查错 */ __disable_irq(); if (line == 0) { return; } /* USER CODE BEGIN Error_Handler_Debug */ /* User can add his own implementation to report the HAL error return state */ while (1) { } /* USER CODE END Error_Handler_Debug */ } /** * @brief This function is executed in case of error occurrence. * @retval None */ void Error_Handler(void) { /* USER CODE BEGIN Error_Handler_Debug */ /* User can add his own implementation to report the HAL error return state */ __disable_irq(); while (1) { } /* USER CODE END Error_Handler_Debug */ } #endif