用的STC8G2K64S4芯片,因为有多路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传输不正常,但不知这个到底问题出在哪里,应该怎么写,请版主和知道的朋友指教,谢谢。
调用函数语句:Give_PWM_Value(R_12_level, PWM32T2);
传输函数:
void Give_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; //
}
}
|