|
通过串口实现串口发送数据,接收区接收数据 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); //再开启接收中断 } 效果如下图
|
经验分享 | STM32H723 SPI 通讯异常排查:实时观察窗口的 “隐形干扰” 解决方案
经验分享 | STM32H7 SPI NSS 脉冲模式灵活应用:解决外置 ADC 通信干扰问题
经验分享 | STM32H7 双核调试配置:STM32CubeIDE 下 M7+M4 协同调试实操
经验分享 | STM32H7 TouchGFX 花屏速解:更换 HyperRAM 后 latency 值适配实操
经验分享 | STM32H743 BDMA+LPTIM+LPUART应用演示
经验分享 | STM32H7Sx MCE 加密解密:外部存储安全防护全解析
如何在STM32和Arduino上实现卷积神经网络
详解STM32单片机的堆栈
STM32 开发者指南:ST.com 全新 MCU 产品阵容视觉布局深度解析
STM32和Arduino对比,谁更耐打?
微信公众号
手机版