RS485不能正常收发
有朋友有RS485的使用经验吗?我这边用的串口1使用ttl测试是正常的,接到ttl转485的芯片后,485这边接收可以触发中断,但是接收的数据不正确。发送是根本发送不出去,发送引脚改成开漏模式,倒是能发出去了,但是数据不对,ab端的电压也反了。有有经验的朋友吗?给点儿建议{:cry:} RS485芯片坏掉了吗?用手摸摸 烫不烫? 测下使能脚的电平,是不是不对,uart的数据格式是不是不对 jobszheng 发表于 2023-6-13 18:53
RS485芯片坏掉了吗?
用手摸摸 烫不烫?
不烫,坏不坏没法确定{:cry:} csy1123 发表于 2023-6-14 14:00
测下使能脚的电平,是不是不对,uart的数据格式是不是不对
电平测了,de一直在2.4v左右,外接ttl能正常发送的时候,de使能脚电平2.1v。数据格式也没问题 使能引脚的电平不对,要么高电平,要么低电平。
换句话说,您这边对使能引脚操作是错误的。
加个可调电阻匹配下中断阻抗吧; jobszheng 发表于 2023-6-14 15:48
使能引脚的电平不对,要么高电平,要么低电平。
换句话说,您这边对使能引脚操作是错误的。
...
我没有对使能引脚进行驱动,使能引脚这边是用电路自动控制的,发送就高电平使能发送,接收就使能低电平使能接收。之前同样的电路用stm32可以用,现在换成n32就不行了,我在想有没有可能是io口的驱动能力不够。{:cry:} autooy 发表于 2023-6-14 16:03
加个可调电阻匹配下中断阻抗吧;
行,我试试去 我知道这种电路方案。
需要手动调节了,降低一下波特率试试,比如降到9600bps。 jobszheng 发表于 2023-6-14 18:14
我知道这种电路方案。
需要手动调节了,降低一下波特率试试,比如降到9600bps。 ...
降到9600,也不大行{:mad:} 这种方案本身虽然不提倡,但难度应该不大。
如果下调到9600bps仍然失败,在确保芯片未烧坏的情况下,看看软件代码吧!也可能是你的软件代码与之前STM32的不一样
高手不多 发表于 2023-6-14 16:40
我没有对使能引脚进行驱动,使能引脚这边是用电路自动控制的,发送就高电平使能发送,接收就使能低电平使 ...
请教电路如何实现自动控制收发? 有没有确认波特率是不是正确的呢 收发使能控制是不是没对 可以使用示波器监测一下485芯片进出口波形的变化 单片机到485芯片的的接线需要外加上拉电阻吗 如果发送不出去数据的话 建议楼主看下代码 io的配置那会不会有问题 不光要看通讯的配置还得有时钟配置以及引脚的配置 楼主采用的是中断模式还是轮询模式呢
页:
[1]
2