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



Teraz jest 5 gru 2024, o 04:07


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 24 mar 2012, o 23:23 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 24 mar 2012
Posty: 72
Pomógł: 5

Witam serdecznie!

Na wstępie chciałbym powiedzieć ,że korzystam z ATB rev 1.03 i w oparciu o książkę "mikrokontrolery AVR, Język C Podstawy programowania" doszedłem do przykładu 3 czyli multipleksowanie.

W płytce testowej posiadam Atmega 644p i nie wiem dlaczego ale wyskakują mi błędy podczas próby wgrania wsadu do mikrokontrolera. Sporo szukałem na ten temat i owszem sporo znalazłem ale żaden wątek nie rozwiązał mojego problemu. A więc do rzeczy:

Korzystam ze środowiska AVR STUDIO. Cały wsad jest skopiowany z dołączonej do książki płyty. Jest on przygotowany pod środowisko eclipse więc musiałem go skopiować ręcznie. Cały wsad składa sie z main.c , d_led.c i d_led.h . Przekopiowując wsad do avr studio tworzyłem nowe pliki poprzez klikniecie prawym klawiszem na "source files"/"create new source file.." nadawałem nazwe z rozszerzeniem .c i wklajelem odpowiednia czesc wsadu. Analogicznie postapilem z d_led.h. z tym ze prawym klawiszem klikalem na "header Files" i plik byl z rozszrzeniem .h.

Nastepna rzeczą jaką musiałem zmienić było ustawienie timera. Zrobiłem to tak:
Kod:
   // ustawienie TIMER0
   TCCR0A |= (1<<WGM01);    //tryb ctc       

   TCCR0B |= (1<<CS02);     //preskaler 1024
   TCCR0B |= (1<<CS00);        
   
   OCR0A = 39;                //dodatkowy podzial przez 39             
   
   TIMSK0 |= (1<<OCIE0A);   //zezwolenie na przerwanie COMPARE MATCH


Kolejna niewielka zmiana w kodzie czyli zmiana nazwy przerwania:

Kod:
ISR(TIMER0_COMPA_vect)


Moje pytanie: Czy opisane przeze mnie zmiany, zostały wykonane prawidłowo? Powinno to działać? ( zakladam ze tak bo wkoncu wyswietlacz pokazuje to co chce)

Przy wgrywaniu wsadu dotyczacego diody led i microswitchow nie było najmniejszego problemu, wszystko odbywało się prawidłowo. Przed wgraniem wsadu odnosnie multipleksowania mikrokontroler laczyl sie bezproblemowo z mkavrcalculator ale kiedy wsad zostal juz wgrany to ( po ktorejs probie z kolei) wyswietlacz sie odezwal i faktycznie wyswietla takie cyfry jak powinien ale wgrywaniu wsadu towarzyszyla mrugajaca czerwona dioda led na plytce testowej.

Wyswietlacz wciaz wyswietla cyfry takie jakie powinien ale teraz przy probie klikniecia przycisku "sprawdz podlaczony avr" wyskakuje mi taki blad AVR DUDE.


"avrdude.exe: BitBang OK
avrdude.exe: pin assign miso 3 sck 5 mosi 6 reset 7
ft245r_drain called but queue is not empty 1
avrdude.exe: drain OK

ft245r: bitclk 4800 -> ft baud 2400
avrdude.exe: ft245r_program_enable: failed
avrdude.exe: initialization failed, rc=-1
avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude.exe: Device signature = 0x0f4b05
avrdude.exe: Expected signature for ATMEGA8 is 1E 93 07
avrdude.exe: reading signature memory:

Reading | ################################################## | 100% 0.00s

avrdude.exe: writing output file "C:\Documents and Settings\Intel\Moje dokumenty\mkAVRCalculator\sig_tmp.hex"

avrdude.exe: safemode: Fuses OK

avrdude.exe done. Thank you."





Natomiast kiedy probuje wykonac kasowanie pamieci flasch badz przy odczytywaniu/zapisywaniu fusow wyskakuje mi taki blad AVR DUDE

"avrdude: BitBang OK
avrdude: pin assign miso 3 sck 5 mosi 6 reset 7
ft245r_drain called but queue is not empty 1
avrdude: drain OK

ft245r: bitclk 230400 -> ft baud 115200
avrdude: ft245r_program_enable: failed
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.


avrdude done. Thank you."


Nie potrafie poradzic sobie z tym problemem i bardzo prosze o pomoc, podpowiedz co robie nie tak.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 mar 2012, o 23:33 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 14 lut 2012
Posty: 598
Lokalizacja: Warszawa
Pomógł: 13

banita 17 napisał(a):
Witam serdecznie!

Reading | ################################################## | 100% 0.00s

avrdude.exe: Device signature = 0x0f4b05
avrdude.exe: Expected signature for ATMEGA8 is 1E 93 07
avrdude.exe: reading signature memory:

Reading | ################################################## | 100% 0.00s



Według to twój problem masz zaznaczony na czerwono



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 24 mar 2012, o 23:43 
Offline
Moderator
Avatar użytkownika

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

Malutki_27 napisał(a):
Według to twój problem masz zaznaczony na czerwono


To nie żaden problem to standardowe zachowanie MkAvrCalculator.

Ale teraz do autora, proponowałbym skupić się na jednym, bo jak się zdaje opisałeś kilka problemów w jednym i ciężko coś poradzić. A już na pewno nie powinno mieć nic wspólnego to że programator nie działa z robieniem ćwiczenia o multipleksowaniu.

Zakładając jednak (o ile się nie mylę) że teraz w ogóle nie możesz programować to skupmy się na tym:

na początek odpowiedz mi jeszcze na kilka pytań:

1. jakiej wersji AVR Studio używasz ?
2. dlaczego nie korzystasz z Eclipse ?

3. czy masz dobrze podpięte kabelki programatora w zestawie ATB zgodnie z rysunkiem:

http://sklep.atnel.pl/pl/i/Programator-w-ATB/6

4. czy zmieniałeś Fusebity ?

aha - jeśli korzystałeś z PORTD dla obsługi wysw. LED - w tym pinów PD0 i PD1 to czy rozłączyłeś zworki TXD oraz RXD ??? bo przecież na tych pinach masz podpięty RS232 od przejściówki USB/RS232 na FT232R

_________________
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: 25 mar 2012, o 00:22 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 24 mar 2012
Posty: 72
Pomógł: 5

Przepraszam za swój post, faktycznie jest on bardzo rozbudowany i mało czytelny. Następnym razem będę starał się pisać bardziej przejrzyście.

Owszem korzystałem z PORTUD. Zmieniłem na PORTA i wszystko działa jak należy.Mimo to odpowiem na pytania:


1. Korzystam z AVR STUDIO 4. Instalowałem tą wersję która była na płycie DVD. Jako nowicjusz bałem się na początku wybrać coś innego, a i choćby nowszej wersji, żeby się nie pogubić.

2. Ten sam powód co w odpowiedzi nr 1.

3. Kabelki sprawdzałem kilka razy, nawet je zmieniałem na inne.

4. Fusy przestawiałem ale tylko w fusach uproszczonych korzystając z mkavrcalculator czyli 'jtag' wylaczony, "zewnetrzny podzial zegara przez 8" wylaczony i taktowanie wewnetrznym oscylatorem 8mhz.



Bardzo dziękuję za tak błyskawiczne odpowiedzi, rozwiązany problem i poświęcony mi czas. Rozumiem już swój błąd. Lekcja na przyszłość co może być nie tak, gdzie szukać. Jeszcze raz dziękuję i Pozdrawiam.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 25 mar 2012, o 09:26 
Offline
Moderator
Avatar użytkownika

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

Wszystko dobrze ładnie ;) ale .....

mam gorącą prośbę. Proszę zostawić obawy nowicjusza i uwierzyć mi chociaż odrobinkę. Nie po to włożyłem aż tyle wysiłku w przygotowanie filmów/lekcji VIDEO, które pozwalają właśnie każdemu TAKŻE nowicjuszowi jak najszybciej korzystać z tak profesjonalnego środowiska jak ECLIPSE. Mało tego na płycie DVD dodałem już preinstalowane wersje Eclipsa. Nic tylko obejrzeć pierwszą i kilka kolejnych lekcji VIDEO z DVD i od razu przejść na ECLIPSE. Gwarantuję, że później ciężko będzie się od niego oderwać.

I tak dobrze, że kolega nie przeszedł na najnowsze SKOPANE wersje AVR Studio 5 albo 6 .... Już gdzieś na forum nawet napisałem, że jak ktoś będzie działał w tych wersjach to przykro mi ale nie może liczyć na moją pomoc, ponieważ wiele osób nie chce słuchać mojej porady a później w kółko rozwiązywanie tych samych problemów czyli jak obejść BABOLE w AVRS 5/6 aby na końcu uznać dlaczego warto zmienić to na Eclipse, CodeBlocks czy nawet AVRS4

proszę czytać czasem mojego bloga:

http://mirekk36.blogspot.com/2011/11/dl ... tudio.html

proszę też popytać na tym forum ilu już ludzi się przekonało do Eclipsa po tym jak dzięki książce i lekcjom z DVD można w nim błyskawicznie wystartować

---------------------------------------

a wracając do rozwiązania problemu we własnym zakresie ze zmianą nazw rejestrów, bitów w rejestrach i wektorów przerwań dla ATmega644PA to oczywiście gratuluję ;) bo przecież wszystko działa ... tak się właśnie przerabia kody dla innych procesorów. Oczywiście w kolejnych ćwiczeniach może być coraz więcej takich przeróbek koniecznych no ale każdy kod da radę spokojnie przerobić z m32 na m644p ;)

i jeszcze raz proszę o jak najszybsze przejście na Eclipse

_________________
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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO