kpwm 需要一定周期数,用比较匹配计数,为什么跳不出来
mega16的板子,想先在1:2脉宽下运行一定时间后跳到另一个脉宽,可是没有反应,希望老师看下#include <iom16v.h>
#include <macros.h>
#define uchar unsigned char
#define uint unsigned int
#pragma interrupt_handler timer1_comp_isr:7
uchar count=0;
void timer1_comp_isr(void)
{
count++;
if(count==100)
{
OCR1AH=0x3F; //设置OCR0A的占空比1:4
OCR1AL=0xFF;
count=0;
}
}
void main(void)
{
TCCR1A = 0b10100010; //快速PWM
TCCR1B = 0b00011001; //时钟1分频
ICR1H= 0xFF; //TCNT计数上限(最高16位)
ICR1L= 0xFF;
DDRD = 0x30; //PWM输出
while(1)
{
OCR1AH=0x7F; //设置OCR0A的占空比1:2
OCR1AL=0xFF;
}
}
页:
[1]