Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 14 gru 2024, o 12:25


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
Autor Wiadomość
PostNapisane: 2 maja 2012, o 16:50 
Offline
Użytkownik

Dołączył(a): 02 maja 2012
Posty: 34
Pomógł: 2

Waitam wszystkich, jestem tu nowy, zaczynam programować AVR, język C znam ze szkoły, ale zakupiłem sobie książke p. Kardaś i chce zacząć mikrokontrolery programować.

Podczas definicji portów np. wszystkie porty A ustawiam jako wyjscia i robię Pull-up. Jest wszystko ok, tzn mam stany wysokie.
Potem np ustawiam wszystkie porty B jako wejścia i robię Pull-up. Niestety ale kilka wejść ma stan wysoki a na innych jest zero. Co jest grane?

#include <avr/io.h>
// ATXMega128A1

int main(void)
{
PORTA_DIR = 0xff;
PORTB_DIR = 0x0;

PORTB_OUT = 0xff;
PORTA_OUT = 0xff;

}



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 maja 2012, o 16:55 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27318
Lokalizacja: Szczecin
Pomógł: 1041

Ja akurat z Xmegami jeszcze nic nie robiłem ale problem który opisujesz w zwykłych ATmegach spowodowany jest tym, że nie użetkownik nie wyłącza domyślnie włączonego interfejsu JTAG, który jest na kilku pinach jednego z portów i dlatego one nie reagują ... sprawdź w PDF'ie swojego procka czy przypadkiem tak się nie dzieje u ciebie.

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 maja 2012, o 17:09 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8587
Pomógł: 337

Na porcie B masz JTAG wyłącz go chyba, chyba że programujesz jtagiem, ale myślę że używasz PDI, jak na początek to wybrałeś sobie upiora :)

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 maja 2012, o 17:17 
Offline
Użytkownik

Dołączył(a): 02 maja 2012
Posty: 34
Pomógł: 2

Cóż za szybki odzew :). Kupiłem okazyjnie tą Xmege, tak przypadkowo wogóle trafiłem na avr, więc się zaraziłem tym. Programuje przez USB przez FT232RL i używam do tego porty PC2, PC3. Ale być może te porty są zajęte, sprawdzę inne zaraz



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 maja 2012, o 18:26 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8587
Pomógł: 337

dobrych portów używasz do programowania jeśli korzystasz z bootloadera , a na to wygląda :)
Na tych portach masz UART, który współpracuje z bootloaderem.

Możesz jeszcze korzystać z JTAGA oraz PDI ale skoro masz Bootloader , a xmegi zwykle mają wgrany więc nie widzę przeciwwskazań
tyle że w tym trybie nie ustawisz FUSE BITS , wiec o pinach zajętych przez JTAG na porcie B możesz zapomnieć na tym etapie
chyba że nabędziesz programator który obsługuje PDI.

Np AVR PROG MK2

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 maja 2012, o 18:28 
Offline
Użytkownik

Dołączył(a): 02 maja 2012
Posty: 34
Pomógł: 2

Sprawdzałem inne porty i to samo, nie wiem co z tym już robić.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 maja 2012, o 18:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8587
Pomógł: 337

napisałem ci wyżej co zrobić :) musisz kupić programator obsługujący PDI np AVR ISP Mk2 , AVR PROG MkII i poprzez interfejs PDI
będziesz mógł zmienić ustawienia FUSE BITS np wyłączyć JTAGA na PORCIE B co umożliwi ci używanie tych pinów jako zwykłych pinów I/O

koszt takiego programatora to ok 80pln za klona .
Dobrze że się zaraziłeś , ale pamiętaj to drogie hobby :)
z czasem potrzebnego osprzętu przybywa i tani on nie jest :)
ale zabawa, walory edukacyjne i wartości chrześcijańskie jak najbardziej bez cenne :)

Chyba że Mirek swojego aspa będzie niebawem sprzedawał , mój z TPI i PDI sobie radzi :)

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 maja 2012, o 18:37 
Offline
Użytkownik

Dołączył(a): 02 maja 2012
Posty: 34
Pomógł: 2

Rozumiem Cię jak najbardziej, tylko że ja sprawdziłem też porty E, J, H które nie są zajęte i dalej tak samo



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 maja 2012, o 18:44 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 04 paź 2011
Posty: 8587
Pomógł: 337

najwidoczniej coś robisz nie tak :)
albo coś ci się źle wgrywa, innego wyjścia niema , ale bez programatora można wróżyć sobie
bootloader pozwala tylko wgrać wsad , ale nie pozwala na czyszczenie pamięci procka , bo i sam by wyleciał i wtedy juz go nie zaprogramujesz bez programatora a czasem erase dobrze robi prockowi :)

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 2 maja 2012, o 18:50 
Offline
Użytkownik

Dołączył(a): 02 maja 2012
Posty: 34
Pomógł: 2

OK dzięki za wskazówki, trzeba będzie odłożyć na programator.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2013, o 22:15 
Offline
Użytkownik

Dołączył(a): 02 maja 2012
Posty: 34
Pomógł: 2

Witam wszystkich po długiej przerwie. Fajny odkop robię:)
Mój problem opisany wyżej wynikał tylko z mojej niewiedzy i niedoczytania całej noty z XMega.
Oczywiście kluczem tutaj było wpisanie odpowiednich bitów do tego rejestru PINnCTRL
PORTB.DIR &=~(1<<PINx);
PORTB.PINxCTRL =PORT_OPC_PULLUP_gc; /*Totempole w/ Pull-up on Input */
i wszystko hulało.
Żeby nie było, że nic nie robiłem od tamtego czasu, to mogę się usprawiedliwić, że zrobiłem sobie Komputer pokładowy wykorzystując protokół KWP1281:)
Teraz jestem na etapie testów tego komputerka z jakimś fajnym wyświetlaczem graficznym.
Oczywiście w dużej mierze przyczyniła się do tego książka p. Mirka, bez której bym nie zaczął wogóle tego projektu.
Pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 23 lut 2013, o 22:43 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lis 2011
Posty: 534
Lokalizacja: Mierzyn
Pomógł: 9

Ringiel to zaloz watek i pochwal sie tym co zrobiles :)

_________________
pozdrawiam
Jachu



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO