timer1产生14位PWM波-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3579|回复: 1

[过期] timer1产生14位PWM波

[复制链接]
发表于 2014-5-6 21:34 | 显示全部楼层 |阅读模式
现在只能实现在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]
 楼主| 发表于 2014-5-6 21:35 | 显示全部楼层
忘了说我的板子是2560
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-5 03:48 , Processed in 0.071496 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表