找回密码
 立即注册

QQ登录

只需一步,快速开始

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

关于单片机串口发送中没有发送数据时一直处于低电平状态的问题

[复制链接]
跳转到指定楼层
楼主
最近遇到个问题单片机串口使用时,发现发送脚(TX),没有发送数据时一直处于低电平状态,发送数据时也能正常发送,一般的串口发送脚没有发送数据时为高电平,这是什么情况。是我初始化不对,还是另外有原因?
然后我就查看资料发现手册里有一句话
TX:发送数据输出。当发送器被禁止时,输出引脚恢复到它的 I/O 端口配置。当发送器被激活,并且不发送数据时,TX 引脚处于高电平。

这里面的是指的那个使能?是串口初始化的那个使能吗? 然后我找的用户手册里面的发现这个是USART_CTRL1里面的
UEN位,
USART 使能(USART enable)。
当该位被清零,在当前字节传输完成后 USART 的分频器和输出停止工作,以
减少功耗。该位由软件设置和清零。
0:USART 禁用。
1:USART 使能。
然后TX:发送数据输出。当发送器被禁止时,输出引脚恢复到它的 I/O 端口配置。当发送器被激活,并且不发送数据时,TX 引脚处于高电平。里面的提到的是这个发送使能是什么呢?我又在手册里找的发送器
当发送使能位(TXEN)被置位时,且缓冲区内有数据,发送器根据 WL 位的状态发送 8 位或 9 位的数据字。发送移位寄存器中的数据在 TX 脚上输出,相应的时钟脉冲在 CK 脚上输出。
我就在想这里面的发送使能是不是指的这个发送器的使能呢?
有没有大佬能指点下?

1.png (93.16 KB, 下载次数: 32)

1.png

2.png (104.61 KB, 下载次数: 30)

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

使用道具 举报

沙发
ID:826942 发表于 2022-4-18 10:57 | 只看该作者
最近又在20.3.1. UART 特性描述 里面看到
字长可以通过编程 UART_CCR 寄存器中的 CHAR 位,选择 5 ~ 8 位。在起始位期间,TX 脚处于低电平,在停止位期间处于高电平。
这句,是不是就是说当不发送的时候就是低电平?
回复

使用道具 举报

板凳
ID:826942 发表于 2022-4-18 11:53 | 只看该作者
刚才发现要是这样的话
结论就是:开始发送数据时才会发出高电平,空闲时输出的是低电平是吗?
那就不对啊
回复

使用道具 举报

地板
ID:624769 发表于 2022-4-18 14:16 来自手机 | 只看该作者
起始位(低电平) + 数据位(5-8位) + 停止位(高电平)没毛病。
回复

使用道具 举报

5#
ID:826942 发表于 2022-4-18 14:24 | 只看该作者
188610329 发表于 2022-4-18 14:16
起始位(低电平) + 数据位(5-8位) + 停止位(高电平)没毛病。

问题是空闲的时候应该是高电平啊。不然没办法检测的起始位信号
回复

使用道具 举报

6#
ID:624769 发表于 2022-4-18 14:34 | 只看该作者
里面哪句话说空闲时低电平了?
回复

使用道具 举报

7#
ID:826942 发表于 2022-4-18 15:04 | 只看该作者
188610329 发表于 2022-4-18 14:34
里面哪句话说空闲时低电平了?

空闲的时候是低电平 是我现在发现的情况 手册里没有这样的说明
回复

使用道具 举报

8#
ID:123289 发表于 2022-4-18 15:45 | 只看该作者
1、这里面的是指的那个使能?
答:串口是单片机内部的一个模块,当你给它供电并准备好工作时,就是【使能】了。
许多单片机一上电,有已【使能】了,如51系列。
有些高档单片机却必须通过选择才能【使能】。

2、是串口初始化的那个使能吗? 然后我找的用户手册......
答:明显吧,它说能“减少功耗”不就是切断模块的全部或部分电源吗。这是属于串口需要选择的类型。
这种类型,多半是由于IO口是复用的(多功能的),即可以不作串口使用,这时是IO口是低电平就不奇怪了。

3、里面的提到的是这个发送使能是什么呢?我又在手册......
答:仅为发送使能,并未对接收下定论。

楼主习惯很好,手册是最准确的师,如果手册的有疑惑,则一定是经过分析而不解的,一定是某个知识点不坚定或丢失。一旦解决则大大进步。给楼主点赞一下!
回复

使用道具 举报

9#
ID:752974 发表于 2022-4-18 16:08 | 只看该作者
uart在空闲时,TX端是高电平。不然的话,板子存在问题。
回复

使用道具 举报

10#
ID:624769 发表于 2022-4-18 18:51 | 只看该作者
0711zhao 发表于 2022-4-18 15:04
空闲的时候是低电平 是我现在发现的情况 手册里没有这样的说明

如果, 你在串口空闲时, 测量你认为是串口的引脚 实际测出电压是 低电平.  有以下三种可能。
1) 电路有问题,对地短路,碰线,包括与之连接的串口设备有问题等等。(此概率和你的硬件知识及动手能力成反比)
2) 串口输出设置有问题, 不知道你的单片机型号, 很多单片机串口有输出引脚设置,还会有其他组件抢占串口引脚,这个问题需要你自行查阅手册来确认。(此概率较高)
3) 单片机损坏(此概率极低)
回复

使用道具 举报

11#
ID:826942 发表于 2022-4-19 09:00 | 只看该作者
188610329 发表于 2022-4-18 18:51
如果, 你在串口空闲时, 测量你认为是串口的引脚 实际测出电压是 低电平.  有以下三种可能。
1) 电路有 ...

问题找到啦。
这个不初始化就会出输出高电平,反之不发数据也是低电平,0.6V,有些串 口又是0.9V
但是这为什么还有研究中。[img][/img]

1.png (113.33 KB, 下载次数: 21)

1.png
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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