Witam
Zasiadłem do BASCOMa AVR i poczyniłem zawiły ale zadowalajacy (jak na to srodowisko) soft dla atmega8, wszystko byloby ok gdyby nie mały problem z obsługą przerwania... mianowicie, na jedno z wejść tj. INT0 podaje przebieg prostokątny, okres 20ms, w aplikacji wymagane jest aby w chwili gdy wystąpi zbocze opadające owego przebiegu (dopiero od pewnego momentu w programie, nie wczesniej ! ) nastąpi przerwanie i skok do podprogramu który juz tam precyzyjnie czasowo od chwili owego zbocza opadajacego wykona operacje itd... idela ogolnie jest taka
na początku definiuje
to od razu następuje przejscie do prog: tak jakby czekał z zaległym przerwaniem
a mi zależy na tym, aby dopiero od odpowiedniego momentu całego programu gdy podam włacz przerwania to wtedy zaczał obserwowac INT0 i w chwili gdy dopiero wystąpi to zbocze to przeszedł do prog:
co robie zle jak to rozwiązac ?
inventco.eu - pierwsza sprawa regulamin p.11.1, druga sprawa proszę używać znaczników CODE, trzecia sprawa proszę poprawić pisownię regulamin p.15.
Zasiadłem do BASCOMa AVR i poczyniłem zawiły ale zadowalajacy (jak na to srodowisko) soft dla atmega8, wszystko byloby ok gdyby nie mały problem z obsługą przerwania... mianowicie, na jedno z wejść tj. INT0 podaje przebieg prostokątny, okres 20ms, w aplikacji wymagane jest aby w chwili gdy wystąpi zbocze opadające owego przebiegu (dopiero od pewnego momentu w programie, nie wczesniej ! ) nastąpi przerwanie i skok do podprogramu który juz tam precyzyjnie czasowo od chwili owego zbocza opadajacego wykona operacje itd... idela ogolnie jest taka
na początku definiuje
Config Int0 = Falling
On Int0 prog
Do
tu na poczatku dla pewnosci wpisuje:
Disable Interrupts
Disable Int0
tak by na pewno nie zadziałało za wczesnie przerwanie
następnie w odp miejscu programu tam od kiedy miałoby byc przerwanie aktywne podaje:
Enable Interrupts
Enable Int0
i program od tej chwili skacze na przerwanie do
prog:
......
.....
Disable Interrupts 'tu probuję ze wszelką cenę wyłączyć obsługę przerwan
Disable Int0
return
i klapa, z jakichs powodów pomimo disable program wraca planowo do paczątku calego programu tam gdzie jest Do i jest czuły na przerwania ale ich nie wykonuje, tak jakby obserwowal nadal wejscie INT0 i wpisywał sobie w rejest ze było zbocze i gdy tylko podam
Enable Interrupts
Enable Int0to od razu następuje przejscie do prog: tak jakby czekał z zaległym przerwaniem
a mi zależy na tym, aby dopiero od odpowiedniego momentu całego programu gdy podam włacz przerwania to wtedy zaczał obserwowac INT0 i w chwili gdy dopiero wystąpi to zbocze to przeszedł do prog:
co robie zle jak to rozwiązac ?
inventco.eu - pierwsza sprawa regulamin p.11.1, druga sprawa proszę używać znaczników CODE, trzecia sprawa proszę poprawić pisownię regulamin p.15.
