PWM没有输出,电机驱动不了?
各位高手,我现在写了一个产生PWM的程序,可是为什么老是不能输出,请各位帮忙看下我哪里出问题了,,谢谢,,很急程序采用M16的第11种波形产生模式,相位修正PWM,计数最大值放在ICR1,让OCR1A和OCR1B都有PWM输出,64分频,频率为200HZ
#include<iom16v.h>
#include<macros.h>
#define uchar unsigned char
#define uint unsigned int
void main()
{
TCCR1A=0XA2;
TCCR1B=0X13;
ICR1=624;
OCR1A=324;
OCR1B=324;
} IO没设置为输出? 嗯嗯,已经配置为这样的了
#include<iom16v.h>
#include<macros.h>
#define uchar unsigned char
#define uint unsigned int
void main()
{
DDRD=0XB0;
DDRB|=BIT(3);
PORTD=0XB0;
PORTB|=BIT(3);
TCCR1A=0XA2;
TCCR1B=0X13;
ICR1=624;
OCR1A=324;
OCR1B=125;
}
http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_545991.jpg
仿真图 (原文件名:%031(0ZVA1MQ]@G%XNT0%QB.jpg) 用ICC的向导生成一下代码,然后看看能不能出。 试过了。。情况就是下面的图,OCRA和OCR1B持续输出高电平,导致L298的4个控制输入端都为高电平而停止转动了?为什么会出现这种情况的呢??
http://cache.amobbs.com/bbs_upload782111/files_28/ourdev_546000.jpg
问题 (原文件名:QZPIKO5KT2(BX(T~}6B$O3O.jpg) 因为你的PORTD=0XB0错了.导致你L298的输入IN1\IN2,IN3/IN4同步为零或同步为1, mark
页:
[1]