找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3163|回复: 11
打印 上一主题 下一主题
收起左侧

51单片机串口通信一个鲜为人知而又不可不知的细节

  [复制链接]
跳转到指定楼层
楼主
ID:404797 发表于 2019-3-28 20:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
     人们在使用51单片机串口通信的时候,往往只注意对串口的初始化,中断程序编写以及关注晶振的频率,很少再关注其他方面的细节。一般注意以上三个方面也已经够啦,可以顺利完成串口通信程序的编写。但有一个细节一般人很少关注,如果因为这个细节而使串口通信程序无法工作,将很难排查错误,因为程序根本就没错,所以无法通过程序功能逻辑来排查程序错误,对于较有经验的老手往往也要花很长时间调试来查找错误,对于经验不足的新手,可能就无法找出错误。这个细节就是串口的状态,也就是P3.0即RxD和P3.1即TxD,这两个IO口一定不能置0,有时不小心,用一条指令P3=0;将导致串口无法正常工作,必须用指令将P3.0和P3.1置1才能使用串口正常工作。如果单独将P3.0置0,串口将无法接收数据,但可以发送数据,如果单独将P3.1置0,串口将无法发送数据,但可以接收数据。这是本人经历过见艰难的排查错误得到的体会,在此与同学们分享经验,希望同学们不要再被这个细节所困。

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:48127 发表于 2019-3-28 22:58 来自手机 | 只看该作者
谢谢分享
回复

使用道具 举报

板凳
ID:96131 发表于 2019-3-29 08:37 | 只看该作者
谢谢提醒,这个大概在使用汇编语言过程中才能出现
回复

使用道具 举报

地板
ID:404797 发表于 2019-3-29 10:49 | 只看该作者
luvemcu 发表于 2019-3-29 08:37
谢谢提醒,这个大概在使用汇编语言过程中才能出现

    我是在编写红外遥控程序时,参考别人的程序,将一段代码考入我的程序中,结果这段代码就把串口置0,排查太久才发现这个问题。
回复

使用道具 举报

5#
ID:500775 发表于 2019-3-29 18:37 | 只看该作者
十分感谢
回复

使用道具 举报

6#
ID:451718 发表于 2019-3-30 12:55 | 只看该作者
养成好习惯。P3就不要做端口赋值。
回复

使用道具 举报

7#
ID:130345 发表于 2020-3-2 18:46 | 只看该作者
太细微了,感谢楼主
回复

使用道具 举报

8#
ID:687418 发表于 2020-3-3 23:51 | 只看该作者
zxwdown 发表于 2019-3-29 10:49
我是在编写红外遥控程序时,参考别人的程序,将一段代码考入我的程序中,结果这段代码就把串口置0, ...

我最近用汇编写多机通讯程序,调试中出现一些莫名其妙的问题,说不定就是这个问题哦,明天好好查查。谢谢分享!
回复

使用道具 举报

9#
ID:702266 发表于 2020-3-4 13:39 | 只看该作者
谢谢楼主分享!!!感谢!
回复

使用道具 举报

10#
ID:111676 发表于 2020-3-4 18:04 | 只看该作者
谢谢楼主分享!!!感谢!
回复

使用道具 举报

11#
ID:695749 发表于 2020-3-9 21:27 | 只看该作者
这个是宝贵的经验,谢谢分享!
回复

使用道具 举报

12#
ID:299193 发表于 2020-3-10 21:47 | 只看该作者
谢谢!
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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