 |

|
|
Elektronika.lt portalo forumas
Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.
Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
kurie nesilaiko forumo taisyklių.
Pastebėjus nusižengimus, prašome pranešti.
Dabar yra 2025 12 23, 12:50. Visos datos yra GMT + 2 valandos.
|
|
|
 |
Forumas » Mikrovaldikliai » Interuptai
|
Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume
|
|
|
 |
Interuptai |
Parašytas: 2006 12 18, 00:00 |
|
|
|
|
| Dovydas rašo: |
| Ar gali interuptas įvykti be išorinnių pokyčių portuose, o įvykus kokiem veiksniam. Pvz pasiekus tam tikrą kintamojo reikšmę? |
Taip, gali. |
|
|
|
|
|
 |
 |
Interuptai |
Parašytas: 2006 12 18, 00:01 |
|
|
|
|
kintamuju reisksmes savaime nesikeicia, todel po paketimo pats gali patikrinti ir esamt reikalui paleisti tau reikima funkcija.
siaip tai ten ta Mindaugasu programa nera labai jau gerai padaryta.
pertraukimu metu reikia ne kintamuju reksmes nustatineti o daryti tai ka reikia.
nieko nelaimesi nustates kintamaji kuri paskui teks tikrinti pagrindineje programoje.
geriau daryti taip:
| Kodas: |
ISR(INT0_vect) {
outp(1, PORTB); //uzdegti nulini dioda, kitus uzgesinti
}
ISR(INT1_vect) { /* signal handler for external interrupt int1 */
outp(2, PORTB); //uzdegti pirma dioda, kitus uzgesinti
}
|
viskas paprasta ir elementaru
vietoje
outp(, PORTB);
gaima surasyti betka ka reikia padaryti kad ir visa gigantiska programa.
tik tada butu ne pro sali jos vykdymo metu pertraukimus isjungti o pabaigus ijungti, jei nenori kad vienos programos nebaigus prasidetu kita.
nors kai kada tas yra reikalinga, bet reikia buti atsargiam. |
|
|
|
|
|
 |
 |
Interuptai |
Parašytas: 2006 12 18, 00:02 |
|
|
|
|
| vakaras rašo: |
| Dovydas rašo: |
| Ar gali interuptas įvykti be išorinnių pokyčių portuose, o įvykus kokiem veiksniam. Pvz pasiekus tam tikrą kintamojo reikšmę? |
Taip, gali. |
kaip tai gali ivykti ant atmega? tie procesoriai neturi debug registru. |
|
|
|
|
|
 |
Interuptai |
Parašytas: 2006 12 18, 11:38 |
|
|
|
|
| Čia gal turėta omenyje taimerio perpildymo, WD ir kiti pertraukimai |
|
|
|
|
|
 |
Interuptai |
Parašytas: 2006 12 18, 19:18 |
|
|
|
|
| Digix rašo: |
Ar gali interuptas įvykti be išorinnių pokyčių portuose, o įvykus kokiem veiksniam....
-------
kaip tai gali ivykti ant atmega? tie procesoriai neturi debug registru. |
-"pasiekus tam tikra reiksme" - pavyzdys - taimeris.
- Visa kita eile veiksniu - UART, SPI, ADC ir t.t. |
|
|
|
|
|
 |
Interuptai |
Parašytas: 2006 12 18, 23:23 |
|
|
|
|
| nu jei apie kitus veiksmus kalbame tai ivairiu yra, bet kintamuju atmega stebeti negali. |
|
|
|
|
|
 |
Interuptai |
Parašytas: 2007 07 15, 14:16 |
|
|
|
|
| Pasrebėjau, kad kartais suveikinėja kuri nors pertrauktis įjungimo metu. Ant INT0 kabo mygtukas į GND. Bandžiau jungti kondensatorių, bet nepadėjo. |
|
|
|
|
|
 |
Interuptai |
Parašytas: 2007 07 15, 19:02 |
|
|
|
|
|
_________________ nepamirškit, klysti žmogiška
privatas - privatiems klausimams
arch linux  |
|
|
|
 |
Interuptai |
Parašytas: 2007 07 15, 21:17 |
|
|
|
|
| JAULER rašo: |
| o reziką dėjai? |
Kur jį reikėtų dėti? |
|
|
|
|
|
 |
Interuptai |
Parašytas: 2007 07 18, 10:06 |
|
|
|
|
Šiaip tai, aš už tai, kad interuptai keistų globalaus kintamojo reikšmę ir paimtų dumenis ir dingtų iš jo, kad nevalgytų procesoriaus laiko, o išėjus, programa turi pasitikrinti kuriai daliai programos tinka tas pasikeitimas ir toliau pabaigtų darbus.
Mindaugasas geru keliu eina, linijiniai algoritmai, tai pradžiai....  |
|
|
|
|
|
 |
Interuptai |
Parašytas: 2007 07 18, 10:38 |
|
|
|
|
| A&V rašo: |
| Tarp INT0 ir pliuso |
to daryti pasprastai nereikia, nes atmega turi pull-up kas yra geriau nei varza.
deja pertraukimai nevisada yra gerai, ju iskvietimas pareikalauja nemazai procesoriaus, kol issaugojami visi registrai, o paskui grazinami atgal.
be to ant atmegos pertraukimai ivyksta netoje pacioje vietoje tai kai dariau daznomati teko ju nenaudoti. |
|
|
|
|
|
 |
Interuptai |
Parašytas: 2007 07 18, 16:46 |
|
|
|
|
Manau rezistoriaus tarp INT0 ir pliuso kabinti neverta, nes esu įjungęs PullUp.
Kokie dar būdai užfiksuoti mygtuką be pertraukties? Visąlaik apklausinėti portą? |
|
|
|
|
|
 |
Interuptai |
Parašytas: 2007 07 18, 18:19 |
|
|
|
|
jop, be interuptu kitaip neišsiversi.
šiaip nebūtina apklausinėt porto visą laiką, jei tau pavyzdžiui nereikia real-time atsako greičio, tai apklausi kad ir kas 0,2-0,5 sekundės.
dar mano kvailas klausimas: ar apklausti portą užtrunka tiek pat procesoriaus laiko kaip ir apklaust paprastą registrą. |
|
|
|
|
|
 |
Interuptai |
Parašytas: 2007 07 18, 21:43 |
|
|
|
|
apklausti viena porto bita trunka 2x ilgiau nei registra(2 ciklus) su registrais daugelis komandu vykdomos vienu ciklu.
mygtuko apklausinejimui pertraukimo eikvoti nera butina
vistiek procesorius paraleidzia daug laiko nieko neveikdamas tai gali tuos mygtukus ir apklausineti.
vistiek "debounce" funkcija su pertraukimais padaryti biski sunku. |
|
|
|
|
|
|
 |
Google paieška forume |
|
|
 |
Naujos temos forume |
|
 |
FS25 Tractors
Farming Simulator 25 Mods,
FS25 Maps,
FS25 Trucks |
 |
ETS2 Mods
ETS2 Trucks,
ETS2 Bus,
Euro Truck Simulator 2 Mods
|
 |
FS22 Tractors
Farming Simulator 22 Mods,
FS22 Maps,
FS25 Mods |
 |
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija |
 |
FS25 Mods
FS25 Maps,
FS25 Cheats,
FS25 Install Mods |
 |
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps |
 |
ATS Trailers
American Truck Simulator Mods,
ATS Trucks,
ATS Maps |
 |
Must have farming mods
Farming simulator modhub,
Best farming simulator mods |
|

|
 |