• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
czestotoliwość migania diody definiowana przez UART
#1
Witam,

Posiadam Arduino UNO i chciałbym zmodyfikować mój kod do postaci takiej aby można było konkretnie zdefiniować częstotliwość migania diody przez UART.


Aktualnie u mnie wygląda to tak;
Kod:
String odebraneDane = ""; //Pusty ciąg odebranych danych
String  info = "Aktualna czestotliwosc migania to "; // text informujacy
int liczba = 0; // zmienna

void setup() {
Serial.begin(9600);
pinMode(13, OUTPUT);

digitalWrite(13, LOW);
}

void loop() {

if(Serial.available() > 0) { //Czy Arduino odebrano dane
odebraneDane = Serial.readStringUntil('\n'); //Jeśli tak, to odczytaj je do znaku końca linii i zapisz w zmiennej odebraneDane
int liczba = odebraneDane.toInt(); //konwersja do liczby

if (liczba < 200);  // tutaj pojawia sie problem - funkcja if wykonuje swoją powinność ale nie powtarza jej. Po zapaleniu wraca do momentu oczekiwania na sygnał z UART.
Serial.println( info + liczba ); //prawidłowo wyświetla zmienną
digitalWrite(13, HIGH);
delay(liczba);
digitalWrite(13, LOW);
delay(liczba);
digitalWrite(13, HIGH);
delay(liczba);
digitalWrite(13, LOW);

}

}
Chce aby dioda migała cały czas częstotliwością zdefiniowaną przez UART, aż do momentu wpisania kolejnej wartości. W tym wypadku miga 2 razy i koniec.
Jak zmodyfikować ten kod by było to możliwe? Czy obie operacje muszą być wykonywane asynchronicznie?
Proszę o pomoc.
Pozdrawiam
 
Odpowiedź
#2
Witam,
Zareklamuj zmienną liczba jako globalną.
Pozdrawiam.
 
Odpowiedź
#3
(24-12-2016, 11:47)Smaczek napisał(a): Witam,
Zareklamuj zmienną liczba jako globalną.
Pozdrawiam.

Zdefiniuj proszę jak mam to zrobić. Z tego co widzę zmienna liczba jest globalną.
Pozdrawiam
 
Odpowiedź
#4
Witam,
Tak, ale jest również redefiniowana wewnątrz loop ().
Pozdrawiam.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości