Arduino Polska Forum
stan wyjść po uruchomieniu serial monitor - Wersja do druku

+- Arduino Polska Forum (https://forum.arduinopolska.pl)
+-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino)
+--- Dział: Instalacja i rozwiązywanie problemów (https://forum.arduinopolska.pl/dzial-instalacja-i-rozwi%C4%85zywanie-problem%C3%B3w)
+--- Wątek: stan wyjść po uruchomieniu serial monitor (/watek-stan-wyj%C5%9B%C4%87-po-uruchomieniu-serial-monitor)



stan wyjść po uruchomieniu serial monitor - grymberg - 05-02-2016

Witam wszystkich.
Prosty a właściwie brak układu. 
Dla wbudowanej diody w Arduino UNO napisany prosty program jak poniżej.


Po uruchomieniu serial monitora wciskam 1 i włącza się dioda. Zamykam serial monitor i po ponownym jego uruchomieniu dida kilkukrotnie zamruga po czym przyjmuje stan LOW. 
Co zrobić aby samo uruchomienie serial monitora nie zmieniało stanu wyjść?


Kod:
int led = 13;
int stan;

void setup() {

 pinMode(led, OUTPUT);
 digitalWrite(led, LOW);
 Serial.begin(9600);
}

void loop() {

 while (Serial.available() == 0);
 stan = Serial.read()- '0';


 switch(stan){
 case 1:    
   digitalWrite(led, HIGH);
   break;
 case 2:    
   digitalWrite(led, LOW);    
   break;
 default:
   Serial.println("nieprawidlowe polecenie");
 }

}



RE: stan wyjść po uruchomieniu serial monitor - JasQ - 04-04-2016

Niestety gotowce arduino mają na pokładzie konwerter USB -> RS232 i do poprawnej pracy ( wgrywania ) potrzebują sygnału reset który jest sterowany sygnałem DTR . Sygnał ten jest uzależniony właśnie od stanu portu w kompie , jak włączasz czy wyłączasz terminal ten stan się zmienia i program w arduino się restartuje . Możesz kupić coś jak na zdjęciu poniżej w celu zabawy terminalem bez resetu i podpiąć bezpośrednio pod styki RX i TX w arduino a do programowania używać wbudowanego usb po odpięciu tego dołożonego .

[Obrazek: f16753234ffb98a191936d4909cedafe.jpg]


RE: stan wyjść po uruchomieniu serial monitor - adix - 06-04-2016

(05-02-2016, 20:05)grymberg napisał(a): Co zrobić aby samo uruchomienie serial monitora nie zmieniało stanu wyjść?

Najlepiej użyć epromu zapisz w nim stan i odczytaj , to znaczy działa to tak ze jeśli ustawisz w pozycje 1 to zostanie zapisane do komórki eeprom i gdy program się zresetuje i tym podobne to w pętli setup dajesz odczyt epromu do zmiennej jakieś tam ja nazwę ją stan i w loop robi się reszta to naj szybszy i najprościejszy sposób


RE: stan wyjść po uruchomieniu serial monitor - JasQ - 06-04-2016

A co jak zamiast diody będzie rygiel do katapulty Big Grin zanim odczyta stan epromu będzie już w sufit wbity Big Grin

Tak pomysł adix-a też jest dobry pod warunkiem że restart programu nie przeszkadza , oczywiście jak to będzie skomplikowany kod z danymi ulotnymi to niestety się nie sprawdzi , chyba że co cykl aktualizowałbyś zapis a to tragicznie spowolni program .


RE: stan wyjść po uruchomieniu serial monitor - adix - 07-04-2016

(06-04-2016, 23:53)JasQ napisał(a): A co jak zamiast diody będzie rygiel do katapulty Big Grin zanim odczyta stan epromu będzie już w sufit wbity Big Grin

to wtedy wyświetli przepraszamy za utrudnienia i uszkodzony sufit hehehe Smile
(06-04-2016, 23:53)JasQ napisał(a): Tak pomysł adix-a też jest dobry pod warunkiem że restart programu nie przeszkadza , oczywiście jak to będzie skomplikowany kod z danymi ulotnymi to niestety się nie sprawdzi , chyba że co cykl aktualizowałbyś zapis a to tragicznie spowolni program .
co do tego nie musi aktualizować ciągle tylko w momencie zmiany w warunku czyli zmiany stanu

i to nie chodzi o ciągle resetowanie tylko o reset np wynikający z braku prądu lup jak tu po włączeniu terminala