add mcu flash size detect and auto config usart

This commit is contained in:
2025-08-25 17:26:19 +08:00
parent 2d752eed5e
commit d651ff73c9
7 changed files with 136 additions and 19 deletions

View File

@@ -38,6 +38,7 @@ OF SUCH DAMAGE.
#include "uart_ring_buffer.h"
#include "led.h"
#include "ultrasonic_analog.h"
#include "board_config.h"
/*!
\brief this function handles NMI exception
@@ -151,8 +152,15 @@ void TIMER13_IRQHandler(void)
}
void USART0_IRQHandler(void) {
if (RESET != usart_interrupt_flag_get(USART0, USART_INT_FLAG_RBNE)) {
uint8_t data = usart_data_receive(USART0);
(void)uart_ring_buffer_put(data); // 缓冲满时丢弃,返回值可用于统计
// 检查当前配置是否使用USART0并且函数指针不为空
if(g_usart_config.usart_periph == USART0 && g_usart_config.irq_handler != 0) {
g_usart_config.irq_handler(); // 通过函数指针调用对应的处理函数
}
}
void USART1_IRQHandler(void) {
// 检查当前配置是否使用USART1并且函数指针不为空
if(g_usart_config.usart_periph == USART1 && g_usart_config.irq_handler != 0) {
g_usart_config.irq_handler(); // 通过函数指针调用对应的处理函数
}
}