Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Przerwanie INT0 dla ATMEGA32

k.krzysztof
-
-
Posty:12
Rejestracja:4 lip 2004, o 11:10
Lokalizacja:Bydgoszcz
Przerwanie INT0 dla ATMEGA32

Postautor: k.krzysztof » 5 lip 2004, o 08:40

Piszę programik dla ATMEGA32.
Konfigurując przerwanie INT0 na reakcję zboczem narastającym (falling),
otrzymuję komunikat od od BASCOMa ,że ATMEGA32 może być wyzwalana tylko poziomem.
Po zmianie chipa (w ustawieniach BASCOMA) na ATMEGA16 jest OK , tzn kompiler kompiluje bez żadnych zastrzeżeń wyzwalanie zboczem narastającym.
Nie bardzo wiem o co chodzi, tym bardziej że w PDF ATMEGA32 jak byk stoi że przerwania można konfigurować jak się żywnie podoba.

Czy ktoś to już przerabiał ?

krzysztof

Awatar użytkownika
Kamilkozi
-
-
Posty:229
Rejestracja:19 mar 2004, o 11:48
Lokalizacja:Gdańsk
Kontaktowanie:

Postautor: Kamilkozi » 5 lip 2004, o 14:22

Niestety nie potrafię Ci pomóc, ale falling to zbocze opadające, narastające to rising.

sablik
-
-
Posty:101
Rejestracja:7 lip 2004, o 06:18
Lokalizacja:Czaniec
Kontaktowanie:

Przerwanie

Postautor: sablik » 7 lip 2004, o 06:24

Mam ten sam problem dla M32.
A jeszcze bardziej ciekawe że brat ma obok kompa z win 2000 i jemu taki błąd się nie pokazuje.

Guru
-
-
Posty:250
Rejestracja:30 cze 2003, o 13:26
Lokalizacja:Kraków

Postautor: Guru » 7 lip 2004, o 09:53

PrzesišdŸ się na assembler lub C wtedy wszystkie błache problemy przestanš istnieć.

sablik
-
-
Posty:101
Rejestracja:7 lip 2004, o 06:18
Lokalizacja:Czaniec
Kontaktowanie:

Drogi guru

Postautor: sablik » 7 lip 2004, o 11:56

Nie każdy lubi C i nie każdy zna asembler, żęby teraz poradzić sobie z tym przerwaniem muszę przekopać PDF i ustawić odpowiednie bity, czyli tak jak każdy kto pisze w asemblerze, Bascom jest może i ułomny ale za to piszę aplikację w kilka godzin a nie tydzień w asemblerze.

k.krzysztof
-
-
Posty:12
Rejestracja:4 lip 2004, o 11:10
Lokalizacja:Bydgoszcz

Postautor: k.krzysztof » 9 lip 2004, o 12:17

Szkoda że nikt nie popchnie tematu dalej. Chodziło mi o zastosowanie klawiatury 4x4 podłączonej poprzez szynę i2c . Jest dostępna gotowa biblioteka do takiej obsługi - cóż z tego kiedy wymagana jest w Bascomie konfiguracja przerwania zewnętrznego na reakcję na zboczem. (W tej chwili nie pamiętam czy opadajęce czy narastające)
I tu wyłazi ten sęk z komunikatem błędu . Ciekawe że tylko dla ATMEGA32 - taki właśnie mam , a dla ATMEGA16 (przecież to to samo) jest ok.

Gienek1
-
-
Posty:56
Rejestracja:8 wrz 2003, o 16:27
Lokalizacja:Tarn-Góry

Postautor: Gienek1 » 9 lip 2004, o 20:39

Jeżeli program mieści się 16kB to zkompiluj go pod ATmega16 a zaprogramować ATmega32. Mimo wszystko jest to chyba błąd kompilatora.

GasM
-
-
Posty:92
Rejestracja:4 lut 2004, o 11:57

Postautor: GasM » 10 lip 2004, o 07:31

"Szkoda że nikt nie popchnie tematu dalej. Chodziło mi o zastosowanie klawiatury 4x4 podłączonej poprzez szynę i2c "

czy to znaczy że chcesz podpiąć PCF8574??, nie opłaca się duże koszty układu, żeby było szybciej musisz dać 2 takie, po za tym PCF w przypadku zmiany na wyprowadzeniu daje przerwanie poprzez zbocze opadające a nie narastające.
wykorzystanie jednego PCF'a wiąże się z ciągłą obsługą tej magistrali a co za tym idzie spowolnienie całej pracy urządzenia.

nie lepiej wykorzystać 8 nóżek procka na całą klawiaturę?? problem z głowy

Fakiros
-
-
Posty:6
Rejestracja:23 sie 2004, o 21:44
Lokalizacja:Nowa Sól
Kontaktowanie:

Postautor: Fakiros » 31 sie 2004, o 17:25

można by tak, nie sprawdzałem, ale może pójdzie, bity 0 i 1 w rejestrze MCUCR właśnie za to odpowiadją
na wszelki wypadek dałem jeszcze "Config Int0 = low level" - bo nie wiem czy ta instrukcja jeszcze jakiś rejestrów nie konfiguruje:


Config Int0 = low level
Mcucr.0 = 0 ' wyzwalanie przerwania na zboczu opadającym dla int0
Mcucr.1 = 1

sablik
-
-
Posty:101
Rejestracja:7 lip 2004, o 06:18
Lokalizacja:Czaniec
Kontaktowanie:

Postautor: sablik » 2 wrz 2004, o 05:31

Testowałem ostatnio takie ustawienia :

MCUCR.ISC11 = 1 'These 2 codes will set the INT1 to generate
MCUCR.ISC10 = 0 'an interrupt on the falling edge of a signal.

MCUCR.ISC01 = 1 'These 2 codes will set the INT0 to generate
MCUCR.ISC00 = 1 'an interrupt on the rising edge of a signal.


ale wygląda na to jak by czasem M32 się zawieszał , albo pojawiały się jakieś zakłócenia.

PozdrAS

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 51 gości