示例完整代码
c
复制代码
#include "main.h"
UART_HandleTypeDef huart1;
uint8_t buffer[100];
void SystemClock_Config(void);
void MX_GPIO_Init(void);
void MX_USART1_UART_Init(void);
int main(void) {
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_USART1_UART_Init();
// 初始化蓝牙模块
uint8_t msg[] = "Bluetooth initialized!\r\n";
HAL_UART_Transmit(&huart1, msg, sizeof(msg) - 1, HAL_MAX_DELAY);
// 启用接收中断
HAL_UART_Receive_IT(&huart1, buffer, sizeof(buffer));
while (1) {
// 主程序逻辑
}
}
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) {
if (huart->Instance == USART1) {
// 回显接收的数据
HAL_UART_Transmit(&huart1, buffer, sizeof(buffer), HAL_MAX_DELAY);
// 重新启动接收中断
HAL_UART_Receive_IT(&huart1, buffer, sizeof(buffer));
}
}
// 其余初始化函数...
|