STM32F4中看到RS485通信那部分例子中有点不明白

2019-07-20 21:24发布

看到原子例程中,两块板子通过485串口通信,其中这两块板子是不是下载同一个485通信例程,这就有点不懂,在初始化中USART2中,PG8脚是用来控制485芯片是发送还是接受模式,初始化中设置了上拉,不太明白,如果一个板子按下了KEY0,另一块板子为什么能接受到数据了,疑问1:初始化中两个板子都是初始化为默认发送模式(若两个板子是同一个软件)2:当其中一个板子KEY0按键按下,此时这块板发送5个字节到另一个板,但另一个板子并未是接受模式状态,怎么能显示接受到数字呢?求解答,非常感谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
正点原子
1楼-- · 2019-07-21 00:00
默认都是接收模式的,你不要光看这几行代码,往下看:
        RS485_TX_EN=0;                                //默认为接收模式       
这句才是关键。
止天
2楼-- · 2019-07-21 01:51
初始化为默认发送模式??   虽然我没看过程序   但是这是不可能的   默认都是接收
zorroyl
3楼-- · 2019-07-21 03:42
止天 发表于 2016-7-6 08:15
初始化为默认发送模式??   虽然我没看过程序   但是这是不可能的   默认都是接收

也不知道是不是自己理解错了,原理图上SP3485的转换芯片,DE和RE脚是连在一起的,初始化时被单片机IO口上拉了,这不就是默认发送状态吗?
止天
4楼-- · 2019-07-21 06:07
你不是不明白485,
你是不知道上拉电阻,
一般初始化默认输出是0,和上拉没关系。

一般初始化之后都会在下面给一次初始电平
你在下面给一个低电平,结果会和原来一样
天涯歌戮
5楼-- · 2019-07-21 11:40
 精彩回答 2  元偷偷看……
zorroyl
6楼-- · 2019-07-21 12:31
正点原子 发表于 2016-7-6 00:11
默认都是接收模式的,你不要光看这几行代码,往下看:
        RS485_TX_EN=0;                                //默认为接收模式       
这句才是关 ...

RS485_TX_EN=0;这个是放在按键函数内部赋值0的吧,这个我看到了,疑问是一块板子按键按下发送数据,另一块按键没按下时,怎么接受数据的呢,楼上有说是在初始化时就默认了接受模式,我代码没看到初始化关于IO口电平输出0接受的,怎么回事

一周热门 更多>