pcint megszakitás
- daniel926
- Biztosítékgyilkos
- Hozzászólások: 65
- Csatlakozott: 2011. december 7. szerda, 7:00
- Tartózkodási hely: Perkáta
Re: pcint megszakitás
Kezdek jobban összezavarodni. A Bascom könyvben lévő if szerkezetes megszakításra az van írva hogy nem jó mert a főprogram nem biztos hogy észreveszi.
- SzLacus
- Tranzisztorgyógyász
- Hozzászólások: 175
- Csatlakozott: 2012. május 20. vasárnap, 6:00
- Tartózkodási hely: Budapest
Re: pcint megszakitás
Mi volna például, ha a megszakításban elmentenél egy rendszeridő jellegű változót. Pontosabban definiálnálsz magadnak egy prellnek tekintett időt, és a megszakításban a pillnatnyi rendszer időhöz hozzáadva a prell időt elmentesz egy változót. Aztán a loopban amikor a rendszer idő eléri, vagy meghaladja az elmentett értéket, akkor megnézed a gombod vajon mit csinál. Ha nyomottnak találod akkor elmúlt a prell. Mivel minden prell újra és újra előrébb mutató időt fog elmenteni a végeredmény az lesz, hogy amikor már legalább prell időnyi nyugalomban van a nyomógombod, akkor fogod, végrehajtani azt amit gombnyomásra akarsz csinálni. Így a megszakításban csak egy változó értékadás lesz egy összeadással, mégis várakozás lesz az eredmény. De nem a program futása akad meg, csak a gombnyomás kiértékelése lesz késleltetve.
Próbáld meg ezt leprogramozni, szerintem menni fog, aztán ahogy használgatod egyre jobban kifinomítod a megoldást.
Várjuk a sikerélményt.
Próbáld meg ezt leprogramozni, szerintem menni fog, aztán ahogy használgatod egyre jobban kifinomítod a megoldást.
Várjuk a sikerélményt.
- daniel926
- Biztosítékgyilkos
- Hozzászólások: 65
- Csatlakozott: 2011. december 7. szerda, 7:00
- Tartózkodási hely: Perkáta
Re: pcint megszakitás
Szép estét mindenkinek.
Hiába értem hogyan kéne a prellt megoldani akár SzLacus akár kapu48 leírása alapján, egyszerűen nem tudom programban megvalósítani.Utána olvasva meg még zavarosabbá válik a dolog.
Hiába értem hogyan kéne a prellt megoldani akár SzLacus akár kapu48 leírása alapján, egyszerűen nem tudom programban megvalósítani.Utána olvasva meg még zavarosabbá válik a dolog.
- SzLacus
- Tranzisztorgyógyász
- Hozzászólások: 175
- Csatlakozott: 2012. május 20. vasárnap, 6:00
- Tartózkodási hely: Budapest
Re: pcint megszakitás
Pedig addig nem mehetsz haza amíg meg nem érted.
Mi nem világos? Konkrétan leírtam, hozz létre egy változót, a rendszer idővel azonos típusú legyen. Találd ki, hogy mennyi időt tekintünk prellnek. Például 2msec. A nyomókádat fogadd egy olyan lábon ami megszakítás kezelésére alkalmas. Álítsd be a megszakítást a lábra mondjuk arra az élre, ami gombnyomásnál keletkezik. Magyarul, ha GND-n van a gomb egyik fele (másik a proc lábán, felhúzásról persze gondoskodni kell) akkor lefutóra legyen a megszakítás, feltéve, hogy a gomb megnyomásra zár. A megszakítás rutinba írd bele, hogy az idő változód értéke legyen egyenlő a pillanatnyi rendszeridő és a prell idő összegével. Majd mint aki jól végezte dolgát, térj vissza a megszakításból. A fő programba írj bele egy if-et, amiben azt vizsgálod, hogy a pillanatnyi rendszer idő kisebb-e mint az elmentett idő. Ha igen, akkor nincs mit tenni, még nem telt le a prellezési idő, megy tovább a fő programod. Ha nem, akkor megnézed, hogy a gomb milyen állapotban van. Ha nyomottnak találod, akkor fix állapotban van, jöhet az az utasítás sorozat, amit a gomb nyomás esetén kell csinálni. Játsz vele egy kicsit, és rájössz, hogyan működik, és hogyan lehetne még jobb. Mikor nem működik jól ez a módszer, stb. Segítek kicsit. Például ha túl hosszúra választod a prell idejét, akkor mire letelik, már el is engeded a gombot, és annyira prell mentes lesz, hogy még a rövid gombnyomást sem veszi észre. Ez az amit Kapu48 írt a program és az ember gyorsaságáról. Csináld, és menni fog. Ennél részletesebb csak az lenne, ha komplett kódot írnánk ide, de ha ez alapján nem érted mit kell csinálni, akkor azt a programot sem értenéd meg, ami ezt csinálja.

Mi nem világos? Konkrétan leírtam, hozz létre egy változót, a rendszer idővel azonos típusú legyen. Találd ki, hogy mennyi időt tekintünk prellnek. Például 2msec. A nyomókádat fogadd egy olyan lábon ami megszakítás kezelésére alkalmas. Álítsd be a megszakítást a lábra mondjuk arra az élre, ami gombnyomásnál keletkezik. Magyarul, ha GND-n van a gomb egyik fele (másik a proc lábán, felhúzásról persze gondoskodni kell) akkor lefutóra legyen a megszakítás, feltéve, hogy a gomb megnyomásra zár. A megszakítás rutinba írd bele, hogy az idő változód értéke legyen egyenlő a pillanatnyi rendszeridő és a prell idő összegével. Majd mint aki jól végezte dolgát, térj vissza a megszakításból. A fő programba írj bele egy if-et, amiben azt vizsgálod, hogy a pillanatnyi rendszer idő kisebb-e mint az elmentett idő. Ha igen, akkor nincs mit tenni, még nem telt le a prellezési idő, megy tovább a fő programod. Ha nem, akkor megnézed, hogy a gomb milyen állapotban van. Ha nyomottnak találod, akkor fix állapotban van, jöhet az az utasítás sorozat, amit a gomb nyomás esetén kell csinálni. Játsz vele egy kicsit, és rájössz, hogyan működik, és hogyan lehetne még jobb. Mikor nem működik jól ez a módszer, stb. Segítek kicsit. Például ha túl hosszúra választod a prell idejét, akkor mire letelik, már el is engeded a gombot, és annyira prell mentes lesz, hogy még a rövid gombnyomást sem veszi észre. Ez az amit Kapu48 írt a program és az ember gyorsaságáról. Csináld, és menni fog. Ennél részletesebb csak az lenne, ha komplett kódot írnánk ide, de ha ez alapján nem érted mit kell csinálni, akkor azt a programot sem értenéd meg, ami ezt csinálja.
- kapu48
- Elektronbűvölő
- Hozzászólások: 3358
- Csatlakozott: 2008. augusztus 29. péntek, 6:00
- Tartózkodási hely: Újkígyós
Re: pcint megszakitás
Ez van mikor egy kezdő úszó, beugrik a mélyvízbe!
Csak fuldoklik, és nem talál semmi támpontot.
Tessék előbb sorba menni a tanulásban.

Csak fuldoklik, és nem talál semmi támpontot.
Tessék előbb sorba menni a tanulásban.

- Robert
- Elektronbűvölő
- Hozzászólások: 10098
- Csatlakozott: 2005. december 9. péntek, 7:00
- Tartózkodási hely: Budapest
- Kapcsolat:
Re: pcint megszakitás
Polling alapon megy a prellmentesítés?
Akár a PCINT lábakon is....
Szerintem induljunk innen....
Akár a PCINT lábakon is....
Szerintem induljunk innen....

- daniel926
- Biztosítékgyilkos
- Hozzászólások: 65
- Csatlakozott: 2011. december 7. szerda, 7:00
- Tartózkodási hely: Perkáta
Re: pcint megszakitás
SzLacus: Megpróbálom még egyszer.
Robert: Mit takar hogy polling alapon?
Robert: Mit takar hogy polling alapon?
- kapu48
- Elektronbűvölő
- Hozzászólások: 3358
- Csatlakozott: 2008. augusztus 29. péntek, 6:00
- Tartózkodási hely: Újkígyós
Re: pcint megszakitás
polling = lekérdezés
Vagyis a megszakításban lekérdezed, hogy mi a helyzet a nagyvilágban?
És ehhez igazítod a program cselekvését.
Már ne haragudj!

Valami segítség.
Bascom and AVR, Interrupts:
http://www.qsl.net/pa3ckr/bascom%20and% ... index.html

Vagyis a megszakításban lekérdezed, hogy mi a helyzet a nagyvilágban?
És ehhez igazítod a program cselekvését.
Már ne haragudj!



Valami segítség.
Bascom and AVR, Interrupts:
http://www.qsl.net/pa3ckr/bascom%20and% ... index.html

Vissza: “Bascom-AVR nyelvű programozás (AVR programozásának lehetőségei)”
Ki van itt
Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég