程式規劃如下
int i;
loop 每一週期 i 就會增加 1
每個週期都會在 OLED 與 serial monitor 輸出 ith
並且在 i >5 時 開始讀取 RTC
並在 OLED 與 serial monitor 輸出 "ith"
程式如下
(只呈現 loop 的部分)
void loop()
{
i=i+1;
display.update();
Serial.print("i=");Serial.println(i);
//delay(1000);
display.clear();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(0,0);
display.print(i, DEC);display.println("th");
if (i>255) i=0;
delay(100);
if (i>5){
Wire.beginTransmission(DS3231_I2C_ADDRESS);
Wire.write(0x01);
//A Wire.requestFrom(DS3231_I2C_ADDRESS, 1);
//B minute=Clock.getMinute();
//C Wire.endTransmission();
display.println();
display.println("WIRE test");
Serial.println("WIRE test");
}
}
複製代碼
其中
Wire.beginTransmission(DS3231_I2C_ADDRESS);
Wire.write(0x01);
//A Wire.requestFrom(DS3231_I2C_ADDRESS, 1);
//B minute=Clock.getMinute();
//C Wire.endTransmission();
複製代碼
是讀取 RTC 的程式
執行結果1.
如果 A B C 三行程式,其中的一行"沒有"被 comment
那麼,OLED 的輸出在 i>5 之後將會停止
而 serial monitor 會一直輸出 ,i 會大於 5 一直繼續加上去,而 "WIRE test"這行字也會一直出現在 serial monitor2.
如果 A B C 三行程式,其中的一"有"被 comment
那麼,OLED 與 serial monitor 會一起一樣的正常輸出