pcint megszakitás
Nem tudhatom, mert nekem még nem volt a kezemben ATtiny2313.
De az adatlap szerint PB Port minden lábára engedélyezhető lenne!
Erre most akkor kíváncsi lennék! Akinek van ilyen az kipróbálhatná és közölhetné az eredményt!
Itt a teszt progi:
De az adatlap szerint PB Port minden lábára engedélyezhető lenne!
Erre most akkor kíváncsi lennék! Akinek van ilyen az kipróbálhatná és közölhetné az eredményt!
Itt a teszt progi:
Kód: Egész kijelölése
$regfile = "attiny2313.dat"
$crystal = 8000000
'$sim
Config Portd.0 = Output
Config Portb = Input
Portb = &B11111111 'activate pull up
Enable Interrupts 'enable global ints
Enable Pcint 'we enable pcint0
On Pcint Isr_pcint 'we jump to this label
'Engedélyezzük mind a 8 PCINT-et
Pcmsk = &B11111111 'enable pcint7-0 (portb.7-0)
Dim Old_pcint As Byte , New_pcint As Byte
Dim Num As Integer
Old_pcint = 0
New_pcint = Old_pcint
Num = 0
'Lehet Nyomkodni a PortB lábaira a jeleket
Do
'Ha változott az érték ki irja
If Old_pcint <> New_pcint Then
Num = Num + 1
Print Num ; ": Old: " ; Bin(Old_pcint) ; " New: " ; Bin(New_pcint)
Old_pcint = New_pcint 'Tárolja a régit
End If
Loop
End
Isr_pcint:
New_pcint = Pinb 'Beolvassa az ujat
Toggle Portd.0 'Led villog
Return
Re: pcint megszakitás
Utána olvastam a leírásoknak, de még mindig nem akar sikerülni teljes mértékben a PCINT megszakítás.Azt szeretném elérni hogy gomb nyomásra aludjon el a zöld led és villanjon fel teljes fényerővel a piros led ehelyett haa megnyomom a gombot a zöld led továbbra is villog a piros led pedig nagyon halványan épphogy megvillan. Mi lehet amit elnéztem?
Nem engedi elküldeni a hozzászólást ha a kódot bemásolom.
Nem engedi elküldeni a hozzászólást ha a kódot bemásolom.
Re: pcint megszakitás
A kódot file-ként csatold... pl. txt-ként...
Re: pcint megszakitás
A kód az előző hozzászólásomhoz.
Nincs meg a kellő jogosultságod a hozzászóláshoz csatolt állományok megtekintéséhez.
Re: pcint megszakitás
INTben SOHA nincs waitms! Pláne nem ilyen hosszú!
Minthogy _nyomógombod_ van, így a prellt kellene először is lekezelni/megfogni...INT alatt beeső prell előjegyzi a következőt....Azaz kilépéskor még 1x végrehajtódik...
Minthogy _nyomógombod_ van, így a prellt kellene először is lekezelni/megfogni...INT alatt beeső prell előjegyzi a következőt....Azaz kilépéskor még 1x végrehajtódik...
Re: pcint megszakitás
És kellene némi verem területet is lefoglalni!
Pl.:
Pl.:
Kód: Egész kijelölése
$hwstack = 32
$swstack = 32
$framesize = 32
Re: pcint megszakitás
Az alábbi http://avr.tavir.hu/images/contents/int ... e-self.bas prellre vonatkozó mintaprogramban szintén van waitms mely ugyanúgy 75 ms-os.
Prell kezelésére kellene nekem szájbarágósan egyszerű mintaprogram ledes visszajelzéssel. Hiába próbálok debounce, debouncetime meg hasonlókat az eredmény ugyan az.
kapu48:
Mért van szükség a veremterület lefoglalására? És melyik mit takar?
Prell kezelésére kellene nekem szájbarágósan egyszerű mintaprogram ledes visszajelzéssel. Hiába próbálok debounce, debouncetime meg hasonlókat az eredmény ugyan az.
kapu48:
Mért van szükség a veremterület lefoglalására? És melyik mit takar?
Re: pcint megszakitás
A hivatkozott mintaprogram környékén ott a figyelmeztetés: MINTA! Soha nem használj INT késleltetést.
VEREM: a Hibakeresés/biztosítékbitek fejezetben...
NEM debounce/debouncetime.
SAJÁT megvalóstást hozz össze.... Volt már (itt is) jópár minta:
- gombnézés - vár - gombnézés. ha azonos a 2 állapot: gomb volt (ez csak főprogramban)
- timer alapon ellenőrzöd...
VEREM: a Hibakeresés/biztosítékbitek fejezetben...
NEM debounce/debouncetime.
SAJÁT megvalóstást hozz össze.... Volt már (itt is) jópár minta:
- gombnézés - vár - gombnézés. ha azonos a 2 állapot: gomb volt (ez csak főprogramban)
- timer alapon ellenőrzöd...
Re: pcint megszakitás
Probléma továbbra is fennáll.
Hogyan oldható meg a gomb figyelése?
Érthető működő mintaprogrammal rendelkezik valaki?
Segítséget előre is köszi.
Hogyan oldható meg a gomb figyelése?
Érthető működő mintaprogrammal rendelkezik valaki?
Segítséget előre is köszi.
Re: pcint megszakitás
Ezeket mind a mai napig nem értem hogyan lehetne megvalósítani. Ki lehetne fejteni bővebben?Robert írta: - gombnézés - vár - gombnézés. ha azonos a 2 állapot: gomb volt (ez csak főprogramban)
- timer alapon ellenőrzöd...
Re: pcint megszakitás
Az elképzelés lényege, hogy az emberi reakció idő jóval lassabb, mint a gomb okozta prelezés.
Tehát figyeled két megszakítás között eltelt időt.
És ha túlzottan rövid, azt Prelnek veszed. És csak 1* hajtod végre amit szeretnél.
Vagyis elengeded a feleslegesnek vélt megszakításokat.
Erre lehet többféle megvalósítást is írni.
Vagy az első megszakítás után kivárod, hogy elmúljon a gombod okozta felesleges megszakítás ideje.
Ezzel az a baj, hogy közben áll az egész program és nem tud gyorsan reagálni, ha közben más esemény is történik.
Tehát figyeled két megszakítás között eltelt időt.
És ha túlzottan rövid, azt Prelnek veszed. És csak 1* hajtod végre amit szeretnél.
Vagyis elengeded a feleslegesnek vélt megszakításokat.
Erre lehet többféle megvalósítást is írni.
Vagy az első megszakítás után kivárod, hogy elmúljon a gombod okozta felesleges megszakítás ideje.
Ezzel az a baj, hogy közben áll az egész program és nem tud gyorsan reagálni, ha közben más esemény is történik.
Re: pcint megszakitás
Próbáltam hogy megszakításban várakozzon egy keveset de ez ugye nem jött össze meg nem is szabad.
A metódust magát értem de leprogramozni, megvalósítani már nem tudom.Ha ugye If szerkezetet használunk az szintén lassú, így kiesik mint lehetséges megoldás.
Köszi a választ.
A metódust magát értem de leprogramozni, megvalósítani már nem tudom.Ha ugye If szerkezetet használunk az szintén lassú, így kiesik mint lehetséges megoldás.
Köszi a választ.
Re: pcint megszakitás
Azért ne essünk túlzásba!
1 - 2 if művelet nem tart ms-ekig.
1 - 2 if művelet nem tart ms-ekig.