请教各位大侠一个问题。本人用普通IO口做一路PWM信号,由于频率在比较高,且要可调脉宽(256档),所以想把PWM的输出做在基准定时的中断服务程序里。程序如下:
@far @interrupt void TIM6_UPD_OVF_TRG_IRQHandler(void)
{
unsigned char count_songsi;
unsigned char count_128us;
count_songsi++;
count_128us++;
if(count_128us>=8)
{
flag_1ms=1;
count_128us=0;
}
if(count_songsi>pwm_songsi)
PD_ODR=PD_ODR||0x01;
else
PD_ODR=PD_ODR&&0xfe;
return;
}
上面的1ms标志flag_1ms和PWM_songsi 在主程序里已经有过定义,PWM_songsi就是不同的脉宽值,但是在中断服务程序编译的时候始终说这两个变量未定义。本人是新手,请各位大侠指教我该怎么弄? |