Skocz do zawartości

Could not identify chip~ - problem z Bascomem.


pawel320

Pomocna odpowiedź

Witam. Zrobiłem układ na płytce stykowej na potrzeby nauki, zacząłem się uczyć w C, jednak mi się odmieniło i robię teraz kurs w Bascomie. O ile w C wszystko mi pięknie działało, program się załadował bez większych problemów, o tyle w Bascomie mam problemy.

Nie jest to z pewnością problem z połączeniem (mechanicznym) bo w C wszystko działa.

Gdy skompiluje program ( pierwszy przykład z kursu: https://www.forbot.pl/forum/topics20/kurs-bascom-lekcja3-zaczynamy-programowac-vt1091.htm)

to wyskakuje mi błąd "could not identify chip with ID: FFFFFF" a następnie:

"Selected chip and target chip do not match at90s1200 <> atmega8"

Nie mam już pomysłu co może być nie tak, program wygląda tak:

                                  $regfile = "m8def.dat"    'najpierw określamy typ proca
$crystal = 1000000                          'definiujemy z jakim taktowaniem będzie pracował


config portb=input                          'port b  jako wejścia
      portb=&B00000000                     'wszędzie stan spoczynkowy-0
config portd=output                         'pprt d jako wyjścia
      portd=&B0000000                      'wszędzie stan spoczynkowy-0


do                                         'pętla nieskończona

  if pinb.0=1 then                         'jeżeli przycisk 1 wciśnięty
  portd.0=1                                'zapal diode
  elseif pinb.1=1 then                     'jeżeli przycisk 2 wciśnięty
  portd.0=0                                'zgaś diodę
  endif                                    'koniec bloku warunkowego

loop                                       'koniec pętli

End    

Jestem na 98% pewien, że połączenie komputerem jest prawidłowe. Układ został złożony bardzo podobnie do tego z kursu C na forbocie, a potem zmieniłem tylko wyjście na diode i wejście na 2 switche, nic poza tym. Każdy kabel po kolei wyjąłem i włożyłem od nowa.

Z góry dzięki za pomoc. Pozdrawiam.

Link do komentarza
Share on other sites

Ustawiłem stk200/300, mam stk200 ze znanego wszystkim serwisu aukcyjnego 😉

Dodam jeszcze dla Waszej orientacji o jakie schematy chodzi, to jest wersja na której działało wszystko w C: http://kursc.forbot.pl/img/art001_schemat1.png

Przerobiłem to na:

https://www.forbot.pl/forum/upload_img/obrazki/IMG_4889012f61d0f2487.jpg

Czyli nie za wiele.

Dzięki za odp.

Link do komentarza
Share on other sites

to wyskakuje mi błąd "could not identify chip with ID: FFFFFF" a następnie:

"Selected chip and target chip do not match at90s1200 <> atmega8"

Przede wszystkim:

1. Odpalasz BASCOM-AVR

2. Options -> Compiler -> Chip

3. Wybierasz chip: m8def.dat

Przypuszczam że korzystasz z portu LPT jeżeli jest to ten programator (chodzi mi o podłączone piny w DB25):

PROGRAMATOR NR.1

Wówczas:

Options -> Programer -> W zakładce wybierasz Sample

Jeżeli jest to:

PROGRAMATOR NR.2

Wówcza:

Options -> Programer -> W zakładce wybierasz STK200/STK300

Else:

Ściągasz program PonyProg2000:

1. Setup -> Interface setup

2. Parallel -> AVR ISP I/O -> OK

3. Setup -> Calibration

Następnie możesz otworzyć skompilowany przez BASCOM-AVR plik i wgrać na atmege. PonyProg zasadniczo sam się konfiguruje oprócz tych 2 ustawień przedstawionych wyżej i działa zasadniczo ze wszystkim. Możesz mieć programator z drewna i tak PonyProg to ogarnie 🙂

Pozdrawiam.

@EDIT:

Pisząc to nie było jeszcze Twojego postu, więc nie chce mi się swojego edytować - zostanie dla potomnych. W bascomie ustaw odpowiedni chip i będzie działać.

Co do schematu to pin reset do VCC przez rezystor 4,7k - 10k 😉

@EDIT2:

Skoro używasz Attiny2313 to dlaczego w programie masz: $regfile = "m8def.dat"

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dzięki za wyczerpującą odpowiedź :->

Co do EDIT1, przy resecie idzie przez rezystor, tak jak ma być(10k). W bascomie ustawiałem atmegę8 od samego początku, przestawiałem to kilka razy i za każdym razem ustawia ten co podałem w błędzie.

Edit2 > Mam $regfile = "m8def.dat" bo nie używam attiny tylko atmegę, chyba tak ma być, tak mi się wydaje.

Link do komentarza
Share on other sites

zacząłem się uczyć w C, jednak mi się odmieniło i robię teraz kurs w Bascomie. O ile w C wszystko mi pięknie działało, program się załadował bez większych problemów, o tyle w Bascomie mam problemy

Bo to C mści się i nawraca cię do dobrej drogi 😉 Wiem że trochę offtop, ale skoro już zacząłeś w C, to szedłbym dalej w tym kierunku, bo właśnie najtrudniej zacząć.

Co do błędu, zadziałało ci po zmianie procesora? Bo jeśli tak, to trochę by mnie to zdziwiło, bo u mnie przy tym komunikacie zawsze okazywało się, że połączenie jest złe. Z drugiej strony, jeśli w C się udaje, to musi oznaczać że połączenie jest dobre.

Link do komentarza
Share on other sites

Kd93, zmiana atmegi pomogła. Musiałem ją uwalić jakimś złym podłączeniem - chyba dalej nie jest ok bo program nie działa tak jak powinien. Co mogłem zrobić źle, biorąc pod uwagę, że podłączałem piny tak jak przy atmedze (w sensie, że takie same nazwy) ? Jest może jakaś różnica o której nie wiem?

[ Dodano: 06-02-2012, 15:43 ]

Dodaję zdjęcia, żeby nie było to wróżenie z fusów

Lewy wyłącznik to odłączenie masy od programatora (właśnie, ma być podłaczona czy nie? bo według kursu w C tak, a teraz jeśli włączę to mi nie zaprogramuje, z odłączoną jest ok)

Prawy wyłącza cały układ.

I teraz tak, zielony to GND ( w ukladzie) a ten co idzie od programatora to MOSI

Brązowy VCC, od programatora to masa.

Pomarańczowe to połączenia do procesora, od prcoesora, od switchów itp

Niebieski od programatora - SCK

Niebieski z białym od programatora RST

Pomarańczowy od programatora - MISO

Pomarańczowy z białym od programatora - VCC

Mam nadzieję, że ktoś coś znajdzie, nie jest to wina atmegi bo włożyłem nową. Pozdrawiam i liczę na odpowiedź

Dodam jeszcze, że gdy pomarańczowy kabel który idzie do niebieskiego switcha podłącze pod mase nie VCC to dioda gaśnie, gdy jest jak na zdjęciu ciągle świeci.

Link do komentarza
Share on other sites

Tak na marginesie proponuję przyciski i diodę podłączyć w sposób taki jak na schemacie poniżej. Ponad to AVCC powinna być podłączona do VCC, reset podciągnięty do VCC przez rezystor 10k, a napięcie dla mikrokontrolera filtrowane przez kondensator 100nF oraz elektrolityczny 10µF.

Program będzie wyglądać wtedy następująco:

$regfile = "m8def.dat"
$crystal = 1000000

Config Portb = Input
       Portb = &B11111111
Config Portd = Output
       Portd = &B11111111

Do
 If Pinb.0 = 0 Then Portd.0 = 0
 If Pinb.1 = 0 Then Portd.0 = 1
Loop
End

Przyczyną tego błędu może być źle skonfigurowany programator, wyłączony port LPT, nieprawidłowy adres portu LPT lub błędne połączenie. Jeśli mam coś doradzić dobrym rozwiązaniem jest programator na USB – można go kupić za około 20zł, a naprawdę jest dużo lepszy od takiego na LPT. Do wgrywania skompilowanego wsadu też warto użyć jakiegoś innego programu np.: AVRDUDE + nakładka Burn O Mat.

Link do komentarza
Share on other sites

Dzięki za odp. Może na zdjęciu tego dobrze nie widać, ale reset jest podciągnięty pod VCC przez rezystor 10k. Napięcie do atmegi również jest filtrowane i stabilizowane, chyba, że źle rozumiem i trzeba dać drugi kondesator? No i chciałem podłączyć atmęge tak jak jest podłączona attiny w kursie, żebym nie musiał deklarować portów tylko miał możliwość wklejenia programu i zajęciem się samym kodem, stąd te moje podłączenie.

Już brakuje mi pomysłów, patrząc na zdjęcie co może być jeszcze źle? Nie dziwiło by mnie to jakoś, gdyby nie fakt, że przy C wszystko działało..

Link do komentarza
Share on other sites

Połączenie na pierwszy rzut oka wygląda dobrze. Czy sprawdzałeś czy te przyciski po kliknięciu dają stan wysoki na nóżki mikrokontrolera?

W moim wcześniejszym poście chciałem podkreślić sposób podłączenia przycisków oraz diody do wyprowadzeń mikrokontrolera, przy okazji podkreśliłem kilka innych kwestii, o których dużo początkujących zapomina.

Link do komentarza
Share on other sites

Trochę dziwnie to wygląda, patrząc na atmege od lewej strony na każdym pinie jest 5v(4,7~), a na PB0 jest 2,75V, z drugiej strony czyli PB1,2,3,4,5 mają po niecałe 5v, AVCC też, reszta ma po 0, (0,1-0,2V). Po naciśnięciu przycisku sytuacja się nie zmienia, nie wiem co jest grane.

[ Dodano: 06-02-2012, 18:23 ]

Nie wiem, strasznie to dziwne.. Zaprogramowałem ją jeszcze raz. Teraz jest tak, że dioda się świeci cały czas, czyli jak wcześniej. Ale na tych portach jest 0, a na tym co podłaczona jest do niego dioda jest 2,5V a gdy nacisne wskakuje na 5, gdy puszcze znowu spada. Dioda trochę się rozjaśnia, ale raczej nie jest to działanie programu...

Link do komentarza
Share on other sites

Złożyłem wszystko tak jak na schemacie, wgrałem Twój program. Działa podobnie jak wcześniej, dioda świeci się cały czas, a gdy nacisnę i trzymam świeci tym razem słabiej. Na tamtym programie gdy nacisnę świeci mocniej. Nie mam bladego pojęcia o co w tym chodzi..

[ Dodano: 06-02-2012, 22:25 ]

Kurde, powiem wam, że ciekawe zjawisko ten Bascom... wróciłem do C i wszystko działa :/ Tzn. nie chciało mi się zaprogramować ani w Bascomie ani w C, ale przełożyłem tylko kable od wyjść i wejść na switche i diodę i się zaprogramowało, a nawet działa. Chyba mnie nie lubi ten Bascom, jak się z nim pogodzić, jest możliwe podłączenie i zaprogramowanie układu w taki sposób, żebym mógł programy tylko wklejać? Teraz przynajmniej obaliłem kilka teoretycznych problemów jak sterowniki do lpt, uszkodzona atmega lub błędne połączenie... Jak podłączyć tą atmege aby działała jak ta w podanym przykładzie?

Link do komentarza
Share on other sites

pawel320, wg mnie to nie jest kwestia środowiska, tylko płytka stykowa ci nie zawsze zwiera. Poprawne zaprogramowanie jest u ciebie kwestią przypadku.

Wypróbuj "ISP Programmer", skompilujesz sobie plik w czym tam chcesz, podasz lokalizację tego skompilowanego pliku i możesz tym wgrywać.

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.