|
通过串口实现串口发送数据,接收区接收数据 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); //再开启接收中断 } 效果如下图
|
【 逢7发帖赢大礼】7、TouchGFX中实现云彩流动效果
【 逢7发帖赢大礼】6、TouchGFX中添加图像素材和自定义代码编辑
【 逢7发帖赢大礼】5、TouchGFX 创建自定义界面和交互
【 逢7发帖赢大礼】4、CubeMX工程复用以及TouchGFX应用
【 逢7发帖赢大礼】3、利用CubeMX添加TouchGFX功能:工程修改和编译烧录
【 逢7发帖赢大礼】2、利用CubeMX添加TouchGFX功能:CubeMX配置
【 逢7发帖赢大礼】1、利用CubeMX生成正点原子H7R7开发板的STM32CubeIDE工程
CubeMX生成CubeIDE工程代码乱码
经验分享 | 基于STM32H7不同MPU配置的拷贝性能比较
【STM32U3 评测】CAN基本通讯测试
微信公众号
手机版