ATTINY13A双PWM输出问题
ATTINY13A PWM输出问题:程序一,PWM的输出是没有问题的
void PWM_INT()
{
TCCR0B=0x00;// 0000 0001时钟选择为0分频
OCR0A=55;
// OCR0B=70;
TCCR0A=0x42; //CTC模式 0100 0010
TCCR0B=0x01; // 0000 0001时钟选择为0分频
delay_ms(5);
}
程序二,没有PWM输出,其他的程序段一样。
void PWM_INT()
{
TCCR0B=0x00;// 0000 0001时钟选择为0分频
// OCR0A=55;
OCR0B=70;
TCCR0A=0x12; //CTC模式 0001 0010
TCCR0B=0x01; // 0000 0001时钟选择为0分频
delay_ms(5);
}
问题在那里?请各位大虾赐教!! 看不出什么问题,PB1设为输出了么? PB1设置输出了,是编译软件的问题吗?? 可能是CTC模式造成的:计数到OCR0A时就清零了,永远到不了OCR0B。你给OCR0A初始化个比OCR0B大的值试试,不然就换种PWM模式。 你说得对:计数到OCR0A时就清零了,永远到不了OCR0B。双PWM输出,只要OCR0A就可以,OCR0B根本不起作用,而且双PWM输出只能是同频率的,不同频率的做不到 使用ICCAVR的向导来生成代码多方便啊!!! 原来自己一直没发现,后来才发现有这么便捷的方式!!
页:
[1]