Sari la conținut
ELFORUM - Forumul electronistilor

ATMEGA328+Encoder


Vizitator opris_p006

Postări Recomandate

Vizitator opris_p006

Buna ziua, am si eu o rugaminte la cei care au mai lucrat cu asa ceva. Trebuie sa citesc doua encodere, utilizand un microcontroler Atmega328. Tin sa mentionez ca encoderele au o singura iesire, deci nu am de-a face cu semnal in cuadratura, pinii PD5 si PD6 mi-s ocupati, la fel si timerul 0.Va rog putin ajutor, niste ideei si exemple de cod daca se poate sau daca aveti sau stiti.Va multumesc!

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

Top autori în acest subiect

  • nana

    1

Top autori în acest subiect

Deci ppoti folosi fie Intreruperile Hardware INT0 si INT1 sau PCI (Pin change Intrerupt) cu mastile pentru pini pe care ii vrei.

 

Eu as detecta doar rise-ul impulsului. Astfel la fiecare impuls (01/10) ai detectata o intrerupere. Insa cu aceasta metoda nu poti masura decat nr de impulsuri si nu poti masura si durata.

 

Mai jos ai un cont de activare intrerupere PCINT2 pentru un tiny13, te uiti si tu in datasheet si iti adaptezi registri!

ISR(PCINT0_vect){}// External Interrupt(s) initialization// INT0: Off;// Interrupt on any change on pins PCINT0-5: On// Intrerrupt on PCINT2GIMSK|=(1<<PCIE);MCUCR|=(1<<ISC00);PCMSK |=0x04; //activare pinul PCINT2
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