- 博客(3)
- 收藏
- 关注
原创 STM32 CUBEMX生成程序制作任意串口使用printf函数
重定向HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart),串口1接收完后再次启用中断接收HAL_UART_Receive_IT(&huart1, (uint8_t *)aRxBuffer,6);在main中循环发送串口1收到的数据,我这里分为2段从串口2发送出去。USART3没配置。由于我需要在串口1收到数据后,发送到串口2,所有需要串口1打开中断。
2025-04-10 14:51:52
698
1
原创 STM32串口透传STM32CubeMX配置
在MX_USART1_UART_Init(void)中加入语句HAL_UART_Receive_IT(&huart1,USART1_RX_BUF,1);在回调函数HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)中加入转发语句。配置STM32两个串口实现透传。使用STM32CubeMX配置。配置两个串口USART1和USART2。改写usart.c加入代码。完整usart.c代码。
2024-12-03 16:41:09
595
原创 STM32H743VIT6使用STM32CubeMX移植freeModbusRTU(从站)
freeModbus包可进入后方链接下载(1、MoubusRTU移植到stm32平台通信是通过串口进行通信,主要是需要串口进行收发,所以发送中断时必须的,在波特率设置问题上是和定时器相关联,在mbrtu.c文件的eMBRTUInit里具体说明了串口波特率和定时器设置的关系从上面代码的注释中可以看出,当波特率大于19200时,超时时间固定位为1750us,当波特率小于19200时,超时时间为3.5个字符时间,具体计算公式在代码注释里已经有了,这里我就不多赘述。
2024-12-02 16:43:35
2221
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人