OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5067|回复: 6

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

[复制链接]

12

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2016-6-4
在线时间
21 小时
发表于 2016-7-6 00:11:53 | 显示全部楼层 |阅读模式
1金钱
看到原子例程中,两块板子通过485串口通信,其中这两块板子是不是下载同一个485通信例程,这就有点不懂,在初始化中USART2中,PG8脚是用来控制485芯片是发送还是接受模式,初始化中设置了上拉,不太明白,如果一个板子按下了KEY0,另一块板子为什么能接受到数据了,疑问1:初始化中两个板子都是初始化为默认发送模式(若两个板子是同一个软件)2:当其中一个板子KEY0按键按下,此时这块板发送5个字节到另一个板,但另一个板子并未是接受模式状态,怎么能显示接受到数字呢?求解答,非常感谢
QQ图片20160706000927.png
QQ图片20160706001056.png
QQ图片20160706001112.png

最佳答案

查看完整内容[请看2#楼]

默认都是接收模式的,你不要光看这几行代码,往下看: RS485_TX_EN=0; //默认为接收模式 这句才是关键。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2016-7-6 00:11:54 | 显示全部楼层
默认都是接收模式的,你不要光看这几行代码,往下看:
        RS485_TX_EN=0;                                //默认为接收模式       
这句才是关键。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

22

主题

751

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1605
金钱
1605
注册时间
2015-6-10
在线时间
222 小时
发表于 2016-7-6 08:15:14 | 显示全部楼层
初始化为默认发送模式??   虽然我没看过程序   但是这是不可能的   默认都是接收
回复

使用道具 举报

12

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2016-6-4
在线时间
21 小时
 楼主| 发表于 2016-7-6 09:42:17 | 显示全部楼层
止天 发表于 2016-7-6 08:15
初始化为默认发送模式??   虽然我没看过程序   但是这是不可能的   默认都是接收

也不知道是不是自己理解错了,原理图上SP3485的转换芯片,DE和RE脚是连在一起的,初始化时被单片机IO口上拉了,这不就是默认发送状态吗?
回复

使用道具 举报

22

主题

751

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1605
金钱
1605
注册时间
2015-6-10
在线时间
222 小时
发表于 2016-7-6 10:00:31 | 显示全部楼层
你不是不明白485,
你是不知道上拉电阻,
一般初始化默认输出是0,和上拉没关系。

一般初始化之后都会在下面给一次初始电平
你在下面给一个低电平,结果会和原来一样
回复

使用道具 举报

5

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
104
金钱
104
注册时间
2016-2-18
在线时间
13 小时
发表于 2016-7-6 10:18:02 | 显示全部楼层
个人理解,RS485是一种通讯方式,底层其实就是串口通信,只不过采用了不同的物理链路和物理层的传输方式,所以距离更远,抗干扰能力更强等,两块板子底层就是在进行串口通信。
回复

使用道具 举报

12

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
88
金钱
88
注册时间
2016-6-4
在线时间
21 小时
 楼主| 发表于 2016-7-7 09:51:52 | 显示全部楼层
正点原子 发表于 2016-7-6 00:11
默认都是接收模式的,你不要光看这几行代码,往下看:
        RS485_TX_EN=0;                                //默认为接收模式       
这句才是关 ...

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

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 17:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表