|
通过串口实现串口发送数据,接收区接收数据 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); //再开启接收中断 } 效果如下图
|
STM32和Arduino对比,谁更耐打?
STM32 LL为什么比HAL高效?
STM32H7 SPI Underrun 特性实战指南:配置、行为与传输可靠性优化
【STM32H750-DK 车辆仪表】6.模拟温度和胎压监测
【STM32H750-DK 车辆仪表】5.油表
【STM32H750-DK 车辆仪表】4.仪表时钟
【STM32H750-DK 车辆仪表】3.车速控制UI
【STM32H750-DK 车辆仪表】2.与板卡交互
【STM32H750-DK 车辆仪表】1.灯光控制UI
STM32应用过程中与电源相关的案例分享
微信公众号
手机版