STM32
直播中

张静

7年用户 1461经验值
私信 关注
[问答]

stm32f405rgt6和stm32f407ve口4使用PA0跟PA1时,发送正常,接收不到数据,为什么?

使用过两种芯片测试,STM32f405rgt6和stm32f407ve。
串口4使用PA0跟PA1时,发送正常,接收不到数据,寄存器上可看出无数据,逻辑分析仪上能看出有数据;
串口4使用PC10跟PC11时,收发正常


回帖(2)

孙丽萍

2024-3-29 09:26:06
楼主,您看一下引脚功能配置是否正确。我这里407是可以正常使用的。
GPIO_PinAFConfig(GPIOA, GPIO_PinSource0, GPIO_AF_UART4);GPIO_PinAFConfig(GPIOA, GPIO_PinSource1, GPIO_AF_UART4);
举报

话多显蠢

2024-3-29 14:08:47
有几个可能的原因导致你遇到这个问题:

1. 引脚连接错误:请确保你的线路连接正确,包括引脚映射、电路连接和地线连接等。特别注意检查PA0和PA1脚使用的引脚的对应关系。

2. 时钟配置:确保你已经正确配置了UART外设的时钟源以及相关的时钟分频器。

3. 初始化设置错误:请检查你对串口4的初始化配置是否正确,包括波特率、数据位、校验位等。

4. 中断配置:如果使用了中断模式来接收数据,请确保已经正确配置了中断优先级并使能了相关的中断。

5. 缓冲区溢出:如果你的接收缓冲区溢出,可能导致接收不到数据。请检查你的接收缓冲区大小是否足够,并使用相应的接收缓冲区溢出标志来判断是否发生了溢出。

6. 其他外设冲突:如果你同时使用了其他外设,并且它们使用了相同的引脚,可能会导致冲突。请检查是否有其他外设占用了PA0和PA1。

通过逐步排查这些问题,你应该能够找到导致接收失败的原因。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分