fxhfxh 发表于 2022-3-12 21:08:15

请教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;//                               
                        }                      
                }

小李非刀 发表于 2022-3-17 22:27:38

你应该用指针来传, PWM32T2定义的是一个xdata的指针,指向扩展寄存器的。

fxhfxh 发表于 2022-3-20 10:35:42

小李非刀 发表于 2022-3-17 22:27
你应该用指针来传, PWM32T2定义的是一个xdata的指针,指向扩展寄存器的。
(引用自2楼)

谢谢版主指教,我马上试一试。
页: [1]
查看完整版本: 请教STC8G2K64S4,PWM寄存器PWM32T2传数问题,谢谢