STC32的PWMA模块怎么关闭?
STC32的PWMA模块怎么关闭?要么打不开,打开了就无法关闭,请问是什么原因?
代码:
PWMA_PS = 0xaa;//1~4通道输出引脚转到P6口
//P6.0P6.1
PWMA_CCER1 = 0x00; //写CCMRx前必须先清零CCERx关闭通道
PWMA_CCMR1 = 0x60; //设置CC1为PWMA输出模式
PWMA_CCER1 = 0x05; //使能CC1通道
PWMA_CCR1H =0x00; //设置占空比时间
PWMA_CCR1L =0x31;
PWMA_ARRH = 0x00; //设置周期时间频率约302.5KHz
PWMA_ARRL = 0x62;
PWMA_ENO = 0x03; //使能PWM1P和PWM1N端口输出
PWMA_BKR = 0x80; //使能主输出
PWMA_CR1 = 0x01; //开始计时
PWMA_ENO寄存器,将对应通道输出使能置0,就能停止输出PWM信号。
然后就可以通过IO口方式输出高低电平。 乘风飞扬 发表于 2023-7-5 22:55
PWMA_ENO寄存器,将对应通道输出使能置0,就能停止输出PWM信号。
然后就可以通过IO口方式输出高低电平。 ...
单独运行的话可以正常控制开关,放到项目中就控制不了,应该是被其他程序影响了{:sweat:} haiger 发表于 2023-7-6 11:26
单独运行的话可以正常控制开关,放到项目中就控制不了,应该是被其他程序影响了 ...
只要寄存器正常进行设置就可以进行开关。
需要注意PWM寄存器是扩展寄存器,扩展寄存器开关(P_SW2的bit7)要开启情况下才能进行设置。 乘风飞扬 发表于 2023-7-6 19:13
只要寄存器正常进行设置就可以进行开关。
需要注意PWM寄存器是扩展寄存器,扩展寄存器开关(P_SW2的bit7) ...
你对这个单片机够了解的{:4_174:}
确实是由于P_SW2寄存器配置错误造成的,部分代码沿用了STC8G系列的,STC32G的文档没有仔细去看。后来排查中发现是ADC转换那里的问题,8G系列的范例里有配置P_SW2寄存器,而32G不需要
页:
[1]