pawel320 Napisano Luty 5, 2012 Udostępnij Napisano Luty 5, 2012 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. Cytuj Link do komentarza Share on other sites More sharing options...
Robomaniak Luty 5, 2012 Udostępnij Luty 5, 2012 a ustawiłeś odpowiedni programator w bascomie? Jakiego programatora używasz? Cytuj Link do komentarza Share on other sites More sharing options...
pawel320 Luty 5, 2012 Autor tematu Udostępnij Luty 5, 2012 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. Cytuj Link do komentarza Share on other sites More sharing options...
xArcus Luty 5, 2012 Udostępnij Luty 5, 2012 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" Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. 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
pawel320 Luty 6, 2012 Autor tematu Udostępnij Luty 6, 2012 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. Cytuj Link do komentarza Share on other sites More sharing options...
KD93 Luty 6, 2012 Udostępnij Luty 6, 2012 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. Cytuj Link do komentarza Share on other sites More sharing options...
pawel320 Luty 6, 2012 Autor tematu Udostępnij Luty 6, 2012 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. Cytuj Link do komentarza Share on other sites More sharing options...
Ksawery Luty 6, 2012 Udostępnij Luty 6, 2012 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. Cytuj Link do komentarza Share on other sites More sharing options...
pawel320 Luty 6, 2012 Autor tematu Udostępnij Luty 6, 2012 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.. Cytuj Link do komentarza Share on other sites More sharing options...
Ksawery Luty 6, 2012 Udostępnij Luty 6, 2012 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. Cytuj Link do komentarza Share on other sites More sharing options...
pawel320 Luty 6, 2012 Autor tematu Udostępnij Luty 6, 2012 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... Cytuj Link do komentarza Share on other sites More sharing options...
xArcus Luty 6, 2012 Udostępnij Luty 6, 2012 To próbuj poruszać kablem LPT ewentualnie wyciągnąć go i zobacz co się dzieje. Cytuj Link do komentarza Share on other sites More sharing options...
Ksawery Luty 6, 2012 Udostępnij Luty 6, 2012 Próbowałeś podpiąć diodę i przycisk tak jak na schemacie, który narysowałem i wgrać program, który napisałem? Cytuj Link do komentarza Share on other sites More sharing options...
pawel320 Luty 6, 2012 Autor tematu Udostępnij Luty 6, 2012 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? Cytuj Link do komentarza Share on other sites More sharing options...
KD93 Luty 6, 2012 Udostępnij Luty 6, 2012 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ć. Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!