[STM32F4] usart发不出数据,示波器也没波形

[复制链接]
1087|10
 楼主| 咚了个咚 发表于 2025-3-4 09:00 | 显示全部楼层 |阅读模式
本帖最后由 咚了个咚 于 2025-7-28 22:23 编辑

用USART进行数据收发,显用usart发送数据到pc,但是PC上收不到数据。示波器上也没有波形。我检查了程序,没有发现任何错误。在始化程序中也正确,不知道从哪里入手找问题了?HAL_UART_Transmit( &huart2, (uint8_t*)aTxBuffer, TXBUFFERSIZE, 5000 ) != HAL_OK

公羊子丹 发表于 2025-3-6 07:39 | 显示全部楼层
你检查过 USART2 的 TX 引脚有没有正确配置成 复用功能 吗?有时候默认可能是 GPIO 模式,导致没有输出。
周半梅 发表于 2025-3-6 07:41 | 显示全部楼层
确保 USART2 时钟已经打开,在 MX_USART2_UART_Init() 之前加上 __HAL_RCC_USART2_CLK_ENABLE(); 试试看。
帛灿灿 发表于 2025-3-6 07:42 | 显示全部楼层
你的 HAL_UART_Transmit() 返回值是什么?如果 HAL_ERROR 或 HAL_TIMEOUT,可能是硬件没初始化好或者波特率设置有问题。
童雨竹 发表于 2025-3-6 07:43 | 显示全部楼层
试试看直接操作寄存器,把 TXE 置位然后手动写入数据,看看能不能发出数据。
万图 发表于 2025-3-6 07:45 | 显示全部楼层
你的 aTxBuffer 是静态分配的吗?如果是局部变量,可能在发送时已经被释放,导致 USART 发送失败。
Wordsworth 发表于 2025-3-6 07:46 | 显示全部楼层
尝试降低波特率,比如改成 9600,有时候高波特率对硬件信号质量要求更高,可能会影响通讯。
Bblythe 发表于 2025-3-6 07:47 | 显示全部楼层
确保 TX 引脚上没有其他外设占用,比如 GPIO 复用错误或者被其他外设复用。
Pulitzer 发表于 2025-3-6 07:48 | 显示全部楼层
你用的是什么外设时钟?如果是 HSI,可能精度不够,建议切换到 HSE 试试,看 USART 波特率是否稳定。
Uriah 发表于 2025-3-6 07:49 | 显示全部楼层
试试用 HAL_UART_Transmit_IT() 或 HAL_UART_Transmit_DMA() 发送数据,有时候同步发送可能会被 HAL 其他代码影响导致卡住。
Clyde011 发表于 2025-3-6 07:50 | 显示全部楼层
如果所有方法都试过了,可以尝试直接操作 USART2->DR 发送数据,看看硬件有没有响应,这样可以排除 HAL 库的问题。
失物招領 发表于 2025-3-11 01:23 | 显示全部楼层
当使用USART发送数据到PC但收不到数据时,即使程序看起来没有问题,也可能存在硬件或配置问题

她已醉 发表于 2025-3-11 02:23 | 显示全部楼层
确保USARTTX引脚与PCRX引脚(或USBTTL模块的RX引脚)正确连接。确保地线(GND)正确连接

将爱藏于深海 发表于 2025-3-11 03:32 | 显示全部楼层
电源检查,确保单片机和外设(如USBTTL模块)的电源稳定。检查电源电压是否在正常工作范围内

温室雏菊 发表于 2025-3-11 04:37 | 显示全部楼层
如果使用USBTTL模块,确保模块工作正常。使用回环测试(将模块的TXRX短接)检查模块是否正常

春日负喧 发表于 2025-3-11 05:36 | 显示全部楼层
建议使用示波器检查USARTTX引脚是否有信号输出。如果没有信号,可能是程序问题或引脚配置错误。如果有信号但PC收不到数据,可能是波特率或电平不匹配

故意相遇 发表于 2025-3-11 06:27 | 显示全部楼层
一般需要检查USART的初始化配置是否正确:波特率、数据位、停止位、校验位是否与PC端一致。时钟配置是否正确(如HCLKPCLK)。引脚复用是否正确(如GPIO_AF

捧一束彼岸花 发表于 2025-3-11 07:29 | 显示全部楼层
检查HAL_UART_Transmit函数的参数是否正确:huart2是否指向正确的USART实例。aTxBuffer是否为有效的缓冲区地址。TXBUFFERSIZE是否与缓冲区大小一致。超时时间是否合理(如5000ms

西洲 发表于 2025-3-11 08:38 | 显示全部楼层
建议检查SystemClock_Config函数,确保USART的时钟源正确配置。使用STM32CubeMX重新生成时钟配置代码

风凉 发表于 2025-3-11 09:21 | 显示全部楼层
一定要确保PC端串口工具的配置与USART一致:波特率、数据位、停止位、校验位

您需要登录后才可以回帖 登录 | 注册

本版积分规则

58

主题

67

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部