|
通过串口实现串口发送数据,接收区接收数据 1、配置STM32时钟(不细说了) 2、配置USART3出口信息
配置里面DMA如下图,勾选FIFO
中断NVIC勾选如下图
查看中断
然后可以生成代码。 在USART.c文件里面添加 重定向c库函数printf ifdef GNUCdefine PUTCHAR_PROTOTYPE int __io_putchar(int ch)elsedefine PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)endifPUTCHAR_PROTOTYPE { HAL_UART_Transmit(&huart3,(uint8_t *)&ch,1,0xFFFF);//阻塞方式打印 return ch; } 在main.c函数里面添加代码 define RXBUFFERSIZE 256 //最大接收字节数char RxBuffer[RXBUFFERSIZE]; //接收数据 uint8_t aRxBuffer; //接收中断缓冲 uint8_t Uart8_Rx_Cnt = 0; //接收缓冲计数 在主函数里面添加 HAL_UART_Receive_IT(&huart3, (uint8_t *)&aRxBuffer, 1); //启动串口中断 void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) { / 防止未使用的参数编译警告 / UNUSED(huart); /* 注意: 需要回调时,不应修改该函数、
if(Uart8_Rx_Cnt >= 255) //溢出判断 {
} else {
} HAL_UART_Receive_IT(&huart3, (uint8_t *)&aRxBuffer, 1); //再开启接收中断 } 效果如下图
|
【STM32U3 评测】CAN基本通讯测试
STM32H750 外扩 QSPI FLASH 跑 2 小时就死机?LAT1151 官方根治方案
STM32H723 多通道序列 ADC 启动不了?寄存器操作必须等 ADRDY 就绪
经验分享 | STM32H7 LPTIM+DMAMUX+BDMA应用演示
经验分享 | STM32H7系列ADC DMA传输异常案例分享
经验分享 | STM32H7 MDMA 与通用DMA的联动传输示例
STM32H750 基于 Keil 制作 QSPI 外部 Flash 下载算法 全流程实操指南
STM32H743 BDMA+LPTIM+LPUART应用演示
经验分享 | STM32H723 SPI 通讯异常排查:实时观察窗口的 “隐形干扰” 解决方案
经验分享 | STM32H7 SPI NSS 脉冲模式灵活应用:解决外置 ADC 通信干扰问题
微信公众号
手机版