Sari la conținut
ELFORUM - Forumul electronistilor

Loop-ul unei functii din loop - cum?


YO5VAE

Postări Recomandate

Buna seara. Am nevoie de ajutor intr-un program pe care trebuie sa il fac.

Ca si configuratie, arduino, 1 push-button si un display cu touch Nextion HMI. Butonul este un buton de start.

Cand arduino porneste, apare un meniu din care se pot alege 3 functii cu rol asemanator. Functiile respective fac niste citiri analogice si trimit valorile pe serial dar in acelasi timp le afiseaza si pe display. Se selecteaza pe touch functia dorita iar uC-ul sare in functia respectiva si asteapta butonul de start sau butonul "back" de pe touch. Nu e greu de facut cu un while. Daca se apasa back sistemul sare inapoi in functia principala (in meniul cu 3 functii). Daca se apasa butonul de start, functia incepe si isi face treaba...masoara...trimite...etc., si ... se termina. Programul iese din functia respectiva inapoi in loop.

 

Eu am nevoie ca la sfarsitul programului, daca nu se apasa butonul "back" pe touch, functia sa mi se repete. Adica programul sa imi sara inapoi la inceputul functiei si sa astepte start sau back pe touch.

Teoretic as putea sa fac treaba prin mai multe bucle while (la inceput si sfarsit) sau prin reapelarea functiei in care sunt la sfarsitul programului, dar aceste 2 variante nu mi se par a fi variantele corecte. 

Poate are cineva o viziune diferita pe care as putea sa o implementez.

Multumesc anticipat.

PS1. Inca nu am nici o bucata de cod

PS2. Interfatarea cu touch-ul nu o vad ca o problema, acesta fiind destul de destept.

Link spre comentariu
  • Răspunsuri 4
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

Zile populare

Top autori în acest subiect

Multumesc pentru raspuns. Pentru functie loop nu imi fac probleme. Imi fac probleme pentru fiecare subrutina in parte, fiindca la terminarea subrutinei, programul sare inapoi in loop unde a ramas, si anume dupa subrutina. Eu as vrea ca programul sa imi sara inapoi la inceputul subrutinei si sa astepte start sau back.

Link spre comentariu

Multumesc pentru raspuns. Pentru functie loop nu imi fac probleme. Imi fac probleme pentru fiecare subrutina in parte, fiindca la terminarea subrutinei, programul sare inapoi in loop unde a ramas, si anume dupa subrutina. Eu as vrea ca programul sa imi sara inapoi la inceputul subrutinei si sa astepte start sau back.

Nu va opreste nimeni ca subrutina sa fie de acest tip:

void subrutina_x(void){while (startButton==HIGH){//aici este continutul subrutinei}return;}

Cat timp butonul startButton nu este actionat se va executa subrutina.

Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări