Arduinowilliam hill官网
直播中

wkbin75

7年用户 6经验值
私信 关注
[问答]

TimerOne实现脉冲信号发生器遇到的问题

最近在学习Arduino,用Arduino+LCD1602+AD9954做了一个信号发生器,想增加脉冲调制功能,于是准备用timerOne实现脉冲信号发生器。
但出来的信号不正常,不知道什么原因,请高手指点。[kenrobot_code]/**
* 日期: 2017/03/04
* 作者: wkbin
* 描述: 一个脉冲信号发生器的测试程序
*/
#include

void setup()
{
  Timer1.initialize(10);
  Timer1.attachInterrupt( timerIsr2,10 );
}

void loop()
{

}


void timerIsr1()
{
    // Toggle LED
    DDRC=B10000000;
    PORTC=B10000000;
    Timer1.attachInterrupt( timerIsr2,10 );
}
void timerIsr2()
{
    // Toggle LED
    DDRC=B10000000;
    PORTC=B00000000;
    Timer1.attachInterrupt( timerIsr1,390 );
}[/kenrobot_code]

程序是实现一个PRT=400us,PW=10us的脉冲信号,结果出来的信号只有一部分对。

  • 不正常
  • 正常
  • scope_26.jpg

更多回帖

发帖
×
20
完善资料,
赚取积分