找回密码
 立即注册
查看: 64|回复: 3

串口中有允许/禁止串口接收控制位,为什么没有允许/禁止串口发送控制位

[复制链接]
  • 打卡等级:常住居民III
  • 打卡总天数:166
  • 最近打卡:2025-07-31 07:37:46
已绑定手机

12

主题

39

回帖

853

积分

高级会员

积分
853
发表于 2025-7-21 21:43:46 | 显示全部楼层 |阅读模式
实际工作中确实会遇到这种情况,如果IO不够用了,只用一个TXD而不用RXD管脚,作为串口发送

同时,如果需求只是读取,就需要只用RXD而不用TXD管脚,作为串口读取
现有的芯片没有允许/禁止串口发送控制位,如果我不向SBUF中写数据,是否可以用TXD脚做其他功能呢?
回复

使用道具 举报 送花

3

主题

247

回帖

-795

积分

等待验证会员

积分
-795
发表于 2025-7-21 21:48:00 | 显示全部楼层
在串口通信设计中,确实存在允许/禁止串口接收控制位(如SM0、SM1等),但通常没有专门的“允许/禁止串口发送控制位”。这种设计主要基于以下几个原因:

首先,串口发送功能是通过向发送缓冲器(SBUF)写入数据并触发发送过程实现的。如果未向SBUF写入数据,串口将不会主动发送任何信息,因此无需额外的控制位来禁用发送功能。从逻辑上讲,只要不进行写操作,发送行为自然被抑制。

其次,TXD引脚通常用于输出数据,而RXD引脚用于输入数据。在实际应用中,若仅需使用串口进行接收或发送,可通过配置寄存器(如SCON)选择工作模式,并关闭不需要的功能。例如,在仅需接收的情况下,可以设置SCON为接收模式,从而避免不必要的发送操作。

此外,当IO资源紧张时,可将TXD引脚用作通用I/O。此时,需确保在不使用串口发送时,该引脚未被串口模块占用。通过合理配置寄存器,可在需要时将TXD切换为通用I/O功能,从而提高系统灵活性。

综上所述,虽然现有芯片未提供专门的发送控制位,但通过合理配置和管理,仍可实现对TXD引脚的灵活使用。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:513
  • 最近打卡:2025-07-31 08:58:47
已绑定手机

87

主题

5532

回帖

1万

积分

超级版主

DebugLab

积分
10123
发表于 2025-7-21 22:31:41 | 显示全部楼层
不往SBUF写数据即可,可以通过设置IO模式来做其他功能,比如设置为高阻使用ADC
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:166
  • 最近打卡:2025-07-31 07:37:46
已绑定手机

12

主题

39

回帖

853

积分

高级会员

积分
853
发表于 2025-7-22 05:53:29 | 显示全部楼层
Debu*** 发表于 2025-7-21 22:31
不往SBUF写数据即可,可以通过设置IO模式来做其他功能,比如设置为高阻使用ADC ...

明白了
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-8-1 01:42 , Processed in 0.108562 second(s), 62 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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