贊助廠商

娛樂城推薦

首頁

刊登資訊

  • 刊登者:匿名
  • 時間:2021-06-03 04:50:04

尚未解答組合語言- 請教新手問題

組合語言- 請教新手問題

各位好,我是位國小老師
因為帶小朋友參賽科技作品而接觸arduino
目前是用mblock寫完後 貼到IDE上改參數
卡關一個基本問題好久
因此抱著求教來請高手解答

現在想利用藍芽來傳輸
分別傳輸訊號1~4控制LED燈亮10秒、20秒、30秒、40秒
現在是卡在訊號5為熄燈,想讓這些燈可以在開燈中途因為傳輸5而熄滅
以下是語法
再煩請提點 感謝~~

#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>
SoftwareSerial btSerial(2, 3); // RX, TX
float i = 0;

double currentTime = 0;
double lastTime = 0;
double getLastTime(){
return currentTime = millis()/1000.0 - lastTime;
}

void _delay(float seconds) {
long endTime = millis() + seconds * 1000;
while(millis() < endTime) _loop();
}

void setup() {
Serial.begin(9600);
btSerial.begin(9600);
pinMode(11,OUTPUT);
i = 0;
while(1) {
if(btSerial.available() > 0){
i = btSerial.read();
if(i == 1.000000){
lastTime = millis()/1000.0;
digitalWrite(11,1);
while(!((getLastTime() == 10.000000) || (i == 5.000000)))
{
_loop();
}
digitalWrite(11,0);
_delay(0.5);

}
if(i == 2.000000){
lastTime = millis()/1000.0;
digitalWrite(11,1);
while(!((getLastTime() == 20.000000) || (i == 5.000000)))
{
_loop();
}
digitalWrite(11,0);
_delay(0.5);

}
if(i == 3.000000){
lastTime = millis()/1000.0;
digitalWrite(11,1);
while(!((getLastTime() == 30.000000) || (i == 5.000000)))
{
_loop();
}
digitalWrite(11,0);
_delay(0.5);

}
if(i == 4.000000){
lastTime = millis()/1000.0;
digitalWrite(11,1);
while(!((getLastTime() == 40.000000) || (i == 5.000000)))
{
_loop();
}
digitalWrite(11,0);
_delay(0.5);
if(i == 5.000000){
digitalWrite(11,0);

}

}

}

_loop();
}

}

void _loop() {
}

void loop() {
_loop();
}

--

0個答案 組合語言- 請教新手問題

其他問題

友站連結