haishi28 发表于 5 天前

梁工 发表于 2024-10-22 12:34
STC8H系列的高级PWM,连续输出0或1有2种方法(以PWM1P为例):

1、使用PWMx_ENO禁止输出PWM,对应IO成为 ...

你好,梁工。
第一个方式,里面第二段,P10 = 0; 之后关闭PWM,P1.0为什么会输出5ms的高电平呢?能不能解释一下?

梁工 发表于 5 天前

haishi28 发表于 2025-8-29 15:14
你好,梁工。
第一个方式,里面第二段,P10 = 0; 之后关闭PWM,P1.0为什么会输出5ms的高电平呢?能不能解 ...

PWMA_ENO |= 0x01;   // 允许PWM1P输出
delay_ms(5);      // P1.0输出PWM 5ms
P10 = 0;            // P1.0输出低电平
PWMA_ENO &= ~0x01;// 关闭PWM输出
delay_ms(5);      // P1.0输出低电平5ms

haishi28 发表于 5 天前

梁工 发表于 2025-8-29 15:18
PWMA_ENO |= 0x01;   // 允许PWM1P输出
delay_ms(5);      // P1.0输出PWM 5ms
P10 = 0;             ...

谢谢梁工。我还想确认一下,是不是就一直低电平输出了?直到新的语句控制该管脚。
另外,是不是推挽输出和准双向两种配置都可以?除了高阻输入不行,其他三种IO配置,有什么区别?哪种最推荐呢?

梁工 发表于 5 天前

haishi28 发表于 2025-8-29 15:32
谢谢梁工。我还想确认一下,是不是就一直低电平输出了?直到新的语句控制该管脚。
另外,是不是推挽输出 ...

1、会一直低电平输出,直到你改变它。
2、PWM我都建议设置为推挽输出,除非有特殊用途,并且有些型号是启动PWM后会固定推挽输出,IO设置无效。
页: 1 [2]
查看完整版本: 关闭PWM输出后,电压不会立刻下降的问题。