|
现在只能实现在arduino的源代码里面设置占空比,产生一定占空比的14位PWM波,预分频设为1,所以示波器测试频率大概是970HZ,所以我可以确定是14位的PWM波,但是无法实现串口接收PC机发过来的占空比,具体现象是无论输入多大占空比都是显示9%的占空比,我自己猜测是我把波特率改掉了导致无法接收数据,求大神指导!
[mw_shl_code=c,true]int d=0; // pwm value
void setup()
{ // Sets Timer1 to Phase Correct
// F_CLOCK / ( Prescaler * ORCR1A * 2 ) = Freq in Hz
// 16000000 / (1 * 8192 * 2 ) = 976.5625 Hz
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
//Serial.begin(9600);
TCCR1A = _BV (WGM10) | _BV (WGM11) | _BV (COM1B1);// Phase Correct
TCCR1B =_BV(WGM13)| _BV(CS10);// Phase Correct / Prescale 1
OCR1A =8192;
OCR1B=0;
}
void loop()
{ //if(Serial.available())
//{
d=8192;
// d=Serial.read();
d=map(d,0,16384,0,8192);
OCR1B=d;
//}
}[/mw_shl_code]
|
|