arduino编程单片机 控制让两盏led灯各自闪烁,一盏灯亮1秒然后灭1秒,并保持此频率闪烁。另 15

arduino编程单片机控制让两盏led灯各自闪烁,一盏灯亮1秒然后灭1秒,并保持此频率闪烁。另外一盏灯亮3秒然后灭3秒,并保持此频率闪烁。需要流程和编程急!跪求大神帮忙... arduino编程单片机
控制让两盏led灯各自闪烁,一盏灯亮1秒然后灭1秒,并保持此频率闪烁。另外一盏灯亮3秒然后灭3秒,并保持此频率闪烁。
需要流程和编程
急!
跪求大神帮忙🙏
展开
 我来答
bjdqe1024
2015-12-22 · TA获得超过653个赞
知道小有建树答主
回答量:774
采纳率:50%
帮助的人:421万
展开全部
#include <MsTimer2.h>

// 定义LED的引脚
#define LED_PIN_A 1
#define LED_PIN_B 2

// 时间定义宏
#define TM_MS(n) (n)

static uint16_t timerCntA;
static uint16_t timerCntB;

void TimerCbk (void);


void setup()
{
    pinMode(LED_PIN_A , OUTPUT);
    pinMode(LED_PIN_B , OUTPUT);

    // 设置为每1ms调用一次TimerCbk函数。
    MsTimer2::set(1, TimerCbk);
    MsTimer2::start();
}

void loop()
{
    if (timerCntA >= TM_MS(1000))
    {
        digitalWrite(LED_PIN_A, !digitalRead(LED_PIN_A));
        timerCntA = 0;
    }
    if (timerCntB >= TM_MS(3000))
    {
        digitalWrite(LED_PIN_B, !digitalRead(LED_PIN_B));
        timerCntB = 0;
    }
}

void TimerCbk (void)
{
    (timerCntA < UINT16_MAX) ? (timerCntA++) : (timerCntA = 0);
    (timerCntB < UINT16_MAX) ? (timerCntB++) : (timerCntB = 0);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式