请教STC8G2K64S4,PWM寄存器PWM32T2传数问题,谢谢
因为有多路PWM输出口,就写了一个传输函数 Give_PWM_Value(BYTE level_f, WORD channel),根据不同的按键值向PWM32T2送不同的占空比数据,实际实验比如 PWM32T2= level_1;,程序是可以正常工作的,P3_2输出的PWM波形正常;但如果用调用传输函数 Give_PWM_Value(R_12_level, PWM32T2); 则单片机工作不正常,没有PWM波形出来。可能应该是PWM32T2传输不正常,但不知这个应该怎么写,请版主和知道的朋友指教,谢谢。传输函数:
voidGive_PWM_Value(BYTE level_f, WORD channel){
switch(level_f)
{ case 0: channel = level_0; break;//不亮
case 1: channel = level_1; break;//
case 2: channel = level_2; break;//
case 3: channel = level_3; break;//
case 4: channel = level_4; break;//
case 5: channel = level_5; break;//
case 6: channel = level_6; break;//
case 7: channel = level_7; break;//
case 8: channel = level_8; break;//
}
} 你应该用指针来传, PWM32T2定义的是一个xdata的指针,指向扩展寄存器的。 小李非刀 发表于 2022-3-17 22:27
你应该用指针来传, PWM32T2定义的是一个xdata的指针,指向扩展寄存器的。
(引用自2楼)
谢谢版主指教,我马上试一试。
页:
[1]