qzkrswbm 发表于 2026-7-8 12:32:35

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

lcwswust 发表于 2026-7-8 13:12:28

不正常,检查一下外围电路或引脚串个电阻看看是否有较大的电流。
外围器件的供电是2.5V或3.3V?或许被钳位了。

qzkrswbm 发表于 2026-7-8 13:42:05

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:}

梁工 发表于 2026-7-8 14:07:11

3.3V供电,PWM输出电流多少?

网老四 发表于 2026-7-8 14:43:38

如果被测管脚是脉冲波形,用万用表测量的话平均电压肯定低于逻辑高电平.
拿示波器观测波形,或者确保被测管脚驱动是直流再测试.

MWX 发表于 2026-7-8 14:50:58

你要用示波器看万用表看2.5V正常。

梁工 发表于 2026-7-8 15:21:46

qzkrswbm 发表于 2026-7-8 13:42
外围断开的,直接测芯片引脚,电压就只有 2.55v




用示波器测量引脚波形贴出来看看。

qzkrswbm 发表于 2026-7-14 11:05:32

梁工 发表于 2026-7-8 15:21
用示波器测量引脚波形贴出来看看。

没有示波器{:ciya:}

但我用了外部上拉   电压到3v3了    问题依旧

----
【确认通信异常是数据校验失败导致的】

也就是串口发送数据时,个别字节值被篡改了,

我给串口tx上了防干扰措施:串联磁珠、上拉3v3、并联1pf到地、串联100欧,均无效,还是偶发性通信异常(即串口抓到的数据流 个别字节不是原始值)

梁工 发表于 2026-7-14 11:30:23

qzkrswbm 发表于 2026-7-14 11:05
没有示波器

但我用了外部上拉   电压到3v3了    问题依旧


推挽输入再用上拉电阻没有意义。
这种现象没有听说过,发送是主动的,TXD还设置了推挽,驱动内阻几十欧姆,什么干扰能做到干扰发送? 我觉得还是你的程序问题,或者外部硬件的影响。
做单片机,一定要有一个示波器,很多问题一看波形便知。

xiaobendan 发表于 2026-7-14 12:27:38

个别的情况不是问题,校验过不去丢弃就是了
问题是全是乱码,就是正常码里面夹杂着无规律的窄脉冲,导致接收端完全收不到有效内容。
并且硬件复位都无效,只能是断电后再上电重启才能恢复。
这样的情况要咋办
页: [1]
查看完整版本: stc8h ,推挽输出,引脚电压2.5v正常吗?