stc8h ,推挽输出,引脚电压2.5v正常吗?
stc8h LDO3V3// 设置 UART2 引脚 (P1.0 为 RxD2, P1.1 为 TxD2)
P1M0 &= ~0x01; P1M1 |= 0x01; // RX: 高阻输入
P1M0 |= 0x02; P1M1 &= ~0x02; // TX: 推挽输出
P1.1引脚电压只有2.5v 正常吗
【 用串口与外设通信 偶发性异常 可是抓包看起来数据流又没有明显异常 {:xiaojiujie:} 】
而iic引脚配置推挽
// P24 (CSN) : 推挽输出 -> M1=0, M0=1
// P23 (SCK) : 推挽输出 -> M1=0, M0=1
都是接近3v3
不正常,检查一下外围电路或引脚串个电阻看看是否有较大的电流。
外围器件的供电是2.5V或3.3V?或许被钳位了。
lcwswust 发表于 2026-7-8 13:12
不正常,检查一下外围电路或引脚串个电阻看看是否有较大的电流。
外围器件的供电是2.5V或3.3V?或许被钳位 ...
外围断开的,直接测芯片引脚,电压就只有 2.55v
我切换到 UART1_Init_115200
// P3.0 (RX) 高阻输入
P3M0 &= ~0x01;
P3M1 |= 0x01;
// P3.1 (TX) 推挽输出
P3M0 |= 0x02;
P3M1 &= ~0x02;
测量p3.1引脚,一样是2.55v
换一颗芯片 也一样的。
加电瞬间测量默认串口UART1tx 是接近3v3的,启动后就只有2.5了{:fadai:} 3.3V供电,PWM输出电流多少? 如果被测管脚是脉冲波形,用万用表测量的话平均电压肯定低于逻辑高电平.
拿示波器观测波形,或者确保被测管脚驱动是直流再测试. 你要用示波器看万用表看2.5V正常。 qzkrswbm 发表于 2026-7-8 13:42
外围断开的,直接测芯片引脚,电压就只有 2.55v
用示波器测量引脚波形贴出来看看。 梁工 发表于 2026-7-8 15:21
用示波器测量引脚波形贴出来看看。
没有示波器{:ciya:}
但我用了外部上拉 电压到3v3了 问题依旧
----
【确认通信异常是数据校验失败导致的】
也就是串口发送数据时,个别字节值被篡改了,
我给串口tx上了防干扰措施:串联磁珠、上拉3v3、并联1pf到地、串联100欧,均无效,还是偶发性通信异常(即串口抓到的数据流 个别字节不是原始值) qzkrswbm 发表于 2026-7-14 11:05
没有示波器
但我用了外部上拉 电压到3v3了 问题依旧
推挽输入再用上拉电阻没有意义。
这种现象没有听说过,发送是主动的,TXD还设置了推挽,驱动内阻几十欧姆,什么干扰能做到干扰发送? 我觉得还是你的程序问题,或者外部硬件的影响。
做单片机,一定要有一个示波器,很多问题一看波形便知。
个别的情况不是问题,校验过不去丢弃就是了
问题是全是乱码,就是正常码里面夹杂着无规律的窄脉冲,导致接收端完全收不到有效内容。
并且硬件复位都无效,只能是断电后再上电重启才能恢复。
这样的情况要咋办
页:
[1]