|
/// 利用 MsTimer2 定時(shí)做三件事
#include <MsTimer2.h>
const int intA = 250; //每 250 ms 做一次 myJobOne
const int intB = 250; // 每 250 ms 做一次 myJobTwo
int int38 = 1000; // 每 1 秒做一次 myJob666; 沒規(guī)定說必須用 const :-)
int led2 = 8; // pin 8
int led3 = 7; // pin 7
const int INTERVAL = 1; // 0.001 秒 = 1ms
void ggyy( ) {
static unsigned int gy = 0;
++gy;
if( gy % intA == 0) myJobOne( );
if( gy % intB == 0) myJobTwo( );
if( gy % int38 == 0) myJob666( );
}
void setup( ) {
pinMode(13, OUTPUT);
pinMode(led2, OUTPUT); pinMode(led3, OUTPUT);
MsTimer2::set(INTERVAL, ggyy); // INTERVAL ms
MsTimer2::start( );
}
void loop( ) {
// 這次 loop( ) 內(nèi)故意甚麼都不寫
}
void myJobOne( ) {
static int gy = 0;
gy = 1- gy; // toggle 0, 1
digitalWrite(13, gy); // pin 13 LED
}
void myJobTwo( ) {
static int gy = 1; // 故意與 myJobOne 內(nèi)gy不同 !
gy = 1- gy; // toggle 0, 1
digitalWrite(led2, gy); // pin 8 LED
}
void myJob666( ) {
static int gy = 0;
gy = 1- gy; // toggle 0, 1
digitalWrite(led3, gy); // pin 7 LED
}
|
評(píng)分
-
查看全部評(píng)分
|