Siema
Zaczynam swoją przygodę ze środowiskiem ArduinoIDE (programowanie ESP32), mam już trochę linijek kodu i chcę się dopytać o kilka rzeczy ( ͡º ͜ʖ͡º)
Robię sobie taką (na razie prymitywną) stację pogodową. Zakodowałem kilka "ekranów" czyli data czas (bazująca na domyślnym kodzie ze środowiska Arduino IDE), wilgotność, temperatura. Każdy wyświetla się po 5 sekund (funkcją delay).
Denerwuje mnie jednak, że wartość np. czasu zostaje pobierana raz przy wyświetleniu i sekundnik wtedy nie działa (oczywiście pewnie przez delay, bo pobiera jednorazowo tą wartość). Nie chciałbym tego rozpisywać jak żółtodziub czyli printLocalTime, delay 1000, printLocalTime, etc.
Da się to
  • 20
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 5
@biauekWladcaJajek: może właśnie nabyłem ESP32 żeby NAUCZYĆ SIĘ TEGO? Po to zadaję te pytania? Po to się wdraźam?
Najlepiej w moim przypadku jest uczyć się na żywym organiźmie, czyli wpaść w coś i się tego uczyć, postawić jakieś założenia i podnosić z dnia na dzień stopień trudności.
Wpierw założenia, potem dokumentacja, sprawdzenie czy to jest możliwe i realizacja celu. Z 220 linijek (zrobionych w 2 godziny) mało która jest gotowcem,
  • Odpowiedz
  • 4
@Zjem_Ci_nos zamiast delay licz ms z funkcją millis. Ogólnie polecam ChatGPT do pomocy we fragmentarycznym pisaniu kodu. Wkurzające są limity znaków w pisaniu promptów ale da się wklejać fragmenty kodu w częściach. Dobrze jest wkleić fragment kodu który już masz, opisać jakich efektów oczekujesz i żeby zasugerował rozwiązanie z użyciem innej metody. Wtedy poda ci rozwiązanie wraz z wyjaśnieniem jak dana metoda działa. Wiadome jest że jak zaczynasz zabawę to nie
maniok - @ZjemCinos zamiast delay licz ms z funkcją millis. Ogólnie polecam ChatGPT d...

źródło: temp_file7655637894819201410

Pobierz
  • Odpowiedz
Kodzę w tym arduino ide.
Da się jakoś w loop() czekać na przerwanie ?
Chcę wysyłać szit jak nastąpi zmiana stanu GPIO ale nie chcę żeby CPU ciągle sprawdzało jakąś zmienną volatile.
Wysyłanie w funkcji do obsługi przerwania odpada ze względów oczywistych.

#esp8266 #arduino #embedded #arduinoide
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Wykop Mobilny (Android)
  • 6
@Scallar: może zaraz linuxa musi postawić ( ͡° ͜ʖ ͡°) Zrób w obsłudze przerwania zmienną pomocniczą a w pętli loop sprawdzaj czy się zmieniła, obsłuż przerwanie i zresetuj zmienną. Btw w uproszczeniu RTOS robi to samo tylko systemowo. Jeśli to wysyłanie jest na jakimś nowszym procku możesz spróbować zrobić to przetrwaniu po DMA
  • Odpowiedz
Potrzebuję pomocy z #arduino Chcę się przesiąść z płytki Arduino Uno na Nano Ever. Program działał na tym pierwszym- chcę tylko zmienić płytkę. Wyrzuca mi błąd podczas kompilacji na Nano. Program nie jest mój a i z IDE niewiele mam do czynienia bo na co dzień nie bawię się Arduino. Doinstalowałem sobie sterowniki i zrobiłem update bibliotek.
Czy to tylko kwestia zmiany pinów czy może innych bibliotek/komend powinienem używać? Nie
  • 13
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Ale czy to możliwe, że zwykłe biblioteki od czytania pinów się aż tak różnią?


@To_ja_moze_pozamiatam: tak jak wyżej napisał @QBA__ w tych nowych ATmegach nie jest już tak prosto jak było kiedyś.
1) Zawsze wybiera się, którą płytkę się programuje. Jeśli biblioteki są napisane poprawnie to mają w sobie odpowiednie mechanizmy, które sprawiają, że kompilacja dla danej płytki przebiega trochę inaczej (i kończy się sukcesem). Podstawowe elementy języka (takie
  • Odpowiedz
@To_ja_moze_pozamiatam:

No czemu w moim przypadku kompilator sobie tego samodzielnie nie zamienia?


Mireczku widzę że jesteś typowym programistą wysokopoziomowymi i nie wiesz jak to chodzi pod spodem Już Ci wyjaśnię(choć sam na arduino najwyżej coś szybko do testu uruchomię, normalnie piszę w czystym C)
  • Odpowiedz