Proste pytanie o PortA w Attiny2313

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
Awatar użytkownika
Kulpina
Użytkownik
Posty: 2037
Rejestracja: 28 lip 2005, 16:57
Lokalizacja: Sanok
Kontakt:

Proste pytanie o PortA w Attiny2313

Post autor: Kulpina » 15 kwie 2008, 15:30

Config Portb = &B11111111
Portb = &B00000000
Config Portd = &B1001111
Portd = &B1001110

Mam mniej wiecej coś takiego na początku programu. Jak teraz użyć jesze końcówek PA.0 i PA.1. Wiem, że trzeba chyba ustawic coś w fusebitach, tylko co dokładnie? bo nie chce sobie skasować procka :mrgreen: I jak już ustawie to normalnie dopisać dalej
Config PortA=&B000
A skąd mikroprocesor będzie wiedział, że PA.2 jest używane tylko jako reset podczas programowania, a nie jest wejściem?
Więc ogólnie moje pytanie brzmi: Jak uruchomić w Attiny2313 koncówki PA.0 i PA.1, żeby można było ich używać jako wejścia i żeby jednocześnie PA.2 pozostało koncówką RESET, a nie wejściem... Nie mam programatora równoległego, procek podłączam do kompa przez zwykły kabel taki jak w MOŁ :mrgreen:

mathieiov
Moderator
Posty: 829
Rejestracja: 31 lip 2005, 9:04
Lokalizacja: --

Post autor: mathieiov » 15 kwie 2008, 15:59

Datasheet ATtiny2313:

- page 52 - "Alternate Functions of Port A"
- p 57 - Port A i jego 3 rejestry

Generalnie wydaję mi się, że w przypadku wybrania wewnętrznego oscylatora końcówki XTAL służą jako Port A, czyli używasz ich normalnie, tak jak portów B i D.

Awatar użytkownika
Kulpina
Użytkownik
Posty: 2037
Rejestracja: 28 lip 2005, 16:57
Lokalizacja: Sanok
Kontakt:

Post autor: Kulpina » 15 kwie 2008, 16:35

No właśnie jak sie okazuje to wcale nie jest takie proste. Procesor wogle dalej nie reaguje na porta :/ Ma ktoś może jakiś listning z wykorzystaniem tego portu?

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 15 kwie 2008, 17:01

Kulpina pisze:A skąd mikroprocesor będzie wiedział, że PA.2 jest używane tylko jako reset podczas programowania, a nie jest wejściem?
Ustawiasz to w fusach.
Kulpina pisze:ak uruchomić w Attiny2313 koncówki PA.0 i PA.1, żeby można było ich używać jako wejścia i żeby jednocześnie PA.2 pozostało koncówką RESET, a nie wejściem
Musisz ustawić wewnętrzny oscylator i wtedy PA0 i PA1 powinny się dać używać. Po kupnie procek ma wew. oscylator ustawiony więc powinno się te porty dać używać jako normalne I/O.

Awatar użytkownika
gwozdex
Użytkownik
Posty: 879
Rejestracja: 24 lut 2006, 10:04
Lokalizacja: Czechowice-Dziedzice
Kontakt:

Post autor: gwozdex » 15 kwie 2008, 17:12

Sugeruję zachować pewną ostrożność, gdyż wyłączenie końcówki RESET jest równoznaczne z uniemożliwieniem programowania procka w ISP.

spark
Użytkownik
Posty: 412
Rejestracja: 25 lis 2004, 15:50
Lokalizacja: Wrocław

Post autor: spark » 15 kwie 2008, 18:37

gwozdex pisze:Sugeruję zachować pewną ostrożność, gdyż wyłączenie końcówki RESET jest równoznaczne z uniemożliwieniem programowania procka w ISP.
Zgadzam się całkowicie! Odpowiednie wyprowadzenie pełni funkcję reset do momentu zmiany odpowiedniego bity w fusach. Niestety wiąże się to z zablokowaniem sobie dojścia do uC przez programator ISP.

Awatar użytkownika
Kulpina
Użytkownik
Posty: 2037
Rejestracja: 28 lip 2005, 16:57
Lokalizacja: Sanok
Kontakt:

Post autor: Kulpina » 15 kwie 2008, 19:11

No oczywiście. Tego sie domyśliłem. Tylko kwestia, czy używanie Pa.0 i pa.1 też sie ustawia w fusach czy jest to ustawione od poczatku przy wewnetrznym oscylatorze? Coś mi nie chciały działać te porty, ale może to wina układu zmontuje wszystko jescze raz na płytce stykowej i wtedy zobaczymy :mrgreen:

snow
Użytkownik
Posty: 794
Rejestracja: 16 sty 2007, 3:44
Lokalizacja: lubelskie
Kontakt:

Post autor: snow » 15 kwie 2008, 19:27

Kulpina pisze:Tylko kwestia, czy używanie Pa.0 i pa.1 też sie ustawia w fusach czy jest to ustawione od poczatku przy wewnetrznym oscylatorze?
Nowo kupiony procek powinien móc sterować te linie, natomiast jeżeli sobie przestawisz fusy na zew. kwarc to wtedy tracisz możliwość używania ich jako linii I/O

Awatar użytkownika
Kulpina
Użytkownik
Posty: 2037
Rejestracja: 28 lip 2005, 16:57
Lokalizacja: Sanok
Kontakt:

Post autor: Kulpina » 18 kwie 2008, 14:53

Wszystko sie zgadza. Miałem błąd na PCB dlatego przyciski wogle nie działały. Nowy procek ustawiony na wewnetrzny oscylator działa z tymi portami normalnie wystarczy użyć polecenia config.

ODPOWIEDZ