PC与STM32通信问题个人总结

问题:RS485通信---PC与STM32F4通信,PC接USB转485与STM32F4板上的SP3485模块通信

    1.只能收不能发

    2.发送标志位USART_FLAG_TC和USART_FLAG_TXE的区别

    3.乱码

解决方案总结:

    1.这个问题可能存在两个方面的情况

        软件问题:要仔细查看代码是否正确,比如配置时钟是否都打开了,配置是否正确。(有时候示例代码也会出错,请仔细检查)

        硬件问题:在判断这个硬件问题前先确定代码正确;再检查原理图和焊接情况是否接错了,再不行就换一个芯片试试。

    2.在正点原子的论坛上看到有网友的一个解释十分的形象:TC是枪膛,TXE是弹仓。

        1)数据发到串口缓冲区时,TC=0,TXE=0

        2)串口缓冲区的数据发到移位寄存器且没有新数据写到缓冲区时,TC=0,TXE=1

            或串口缓冲区的数据发到移位寄存器但又有新数据写入缓冲区时,TC=0,TXE=0

        3)移位寄存器发送出数据后,TC=1,TXE=1

        

        所以如果用TXE作为标志位,建议需要在RS485设置为

        

    3.乱码的原因是从机回复过快,同时对发信号等,控制好逻辑就行。硬件原因的话就AB加上下拉电阻,接匹配电阻。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值