[STM32F1] 串口接收端需要上拉吗

[复制链接]
2400|39
1156807738 发表于 2020-11-7 15:29 | 显示全部楼层
兄弟,解决了吗?我配置的接收中断,有时候一上电偶发性卡死,有时候正常,把开启接收中断关闭倒正常了,RX和Tx配置的NO_PULL,Tx有外部上拉
 楼主| renyaq 发表于 2020-11-16 19:28 | 显示全部楼层
串了个120的电阻,问题是我觉得不应该出这种状况。
dingy 发表于 2020-11-16 19:33 | 显示全部楼层
没接上拉的是不是配内部上拉了,理论上串口都要上拉的
supernan 发表于 2020-11-16 19:37 | 显示全部楼层
我一般都是串电阻,上拉没用过
 楼主| renyaq 发表于 2020-11-16 19:41 | 显示全部楼层
有道理,下午去查查
 楼主| renyaq 发表于 2020-11-16 19:46 | 显示全部楼层
配置成上拉输入没问题了,不用外接上拉电阻。
 楼主| renyaq 发表于 2020-11-16 19:55 | 显示全部楼层
不过它能不能正常接收数据还没试。倒是很奇怪,我查了以前的几个东西,有一个是103RB用的是浮空输入,没问题,另一个是103ZE也用的是浮空输入,也没问题。我看网上初始化串口的程序,大多数也是浮空输入。为什么单单这个片子需要上拉输入?
zyf部长 发表于 2020-11-16 19:59 | 显示全部楼层
一般从可靠性角度考虑,串口都需要上拉,浮空可以的情况有可能是因为对面有上拉,或者对方是推挽输出,但是这个属于赌,所以从可靠性上考虑,还是要加上拉
 楼主| renyaq 发表于 2020-11-16 20:03 | 显示全部楼层
但是,不上拉也不至于会死机
wangpe 发表于 2020-11-16 20:08 | 显示全部楼层
估计是某个错误信号没有得到处理/清除,程序不停地进入ISR
gongche 发表于 2020-11-16 20:15 | 显示全部楼层
死机可能是因为你写的串口接收程序不够强壮,对错误处理不完善导致的,在程序中加入对错误寄存器的处理,以及丢掉错误帧的处理
happy_10 发表于 2020-11-16 20:19 | 显示全部楼层
串口最好加上拉,浮空输入偶尔会出现接收的数据不对现象
 楼主| renyaq 发表于 2020-11-16 20:22 | 显示全部楼层

嗯,那我按大家的说法挨个排查一下,谢谢哈
 楼主| renyaq 发表于 2020-11-16 20:28 | 显示全部楼层

明白了,多谢大家讨论这么多哈
sonicll 发表于 2020-11-17 09:04 | 显示全部楼层

你如果进了启动文件的“B  .”语句,说明是发生了某个中断,但是你没有写中断服务函数,这时候你可以打开Keil的nvic查看窗口,看看哪些中断的P和A置位了,检查一下这些中断有没有写中断服务函数
laocuo1142 发表于 2020-11-23 11:40 | 显示全部楼层
有可能是软件问题吧
jcky001 发表于 2020-11-24 09:41 | 显示全部楼层
应该是软件问题
明天真的好 发表于 2020-11-24 10:08 | 显示全部楼层
我感觉和你的上拉,下拉没有任何关系,完全就是代码的问题。
慢醇 发表于 2020-11-24 17:03 | 显示全部楼层
需要上拉把。/
慢醇 发表于 2020-11-24 17:20 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部