Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Programowanie ATTINY2313

RcTomek
-
-
Posty:357
Rejestracja:18 lip 2005, o 17:28
Lokalizacja:Głogów / Wrocław

Postautor: RcTomek » 10 lip 2006, o 22:04

Kompilujemy źródło tak, jak dla poprzednika, czyli wykorzystujemy bibliotekę dla 90S2313?
Musi być biblioteka dla tiny2313. Bascom 1.11.8.1 (używam w chwili obecnej) obsługuje tiny2313; z resztą trochę starsze wersje już obsługiwały tego procka.

elemid
-
-
Posty:318
Rejestracja:22 mar 2003, o 17:49
Lokalizacja:Polanica Zdrój
Kontaktowanie:

Postautor: elemid » 10 lip 2006, o 22:27

Kompilujemy źródło tak, jak dla poprzednika, czyli wykorzystujemy bibliotekę dla 90S2313?
Musi być biblioteka dla tiny2313. Bascom 1.11.8.1 (używam w chwili obecnej) obsługuje tiny2313; z resztą trochę starsze wersje już obsługiwały tego procka.
Ok. Się wyjaśniło, nie odpowiadaj na poprzedniego posta.

rxxxp
-
-
Posty:5
Rejestracja:18 wrz 2006, o 08:57
Lokalizacja:Krościenko Wyżne
Kontaktowanie:

Postautor: rxxxp » 6 sie 2007, o 10:53

Witam panowie jak widzę to każdy ma z tym dziadostwem problemy! I ja dołączę ponieważ kupiłem zestaw ZL11AVR + ZL2PRG+ BASCOM-AVR v1.11.8.7, skonfigurowałem i napisałem pierwszy program:
Config 1wire Portb = Output
Config 1wire Portd = Output
Portd = 2
Do
If Portd = 64 Then Portd = 1
Portd = 2 * Portd
Waitms 250
Loop
Tylko, że nie wiem dlaczego dodaje mi te linie:1wire,(korektę przeprowadziłem) bo program powinien wyglądać tak:
Config Portb = Output
Config Portd = Output
Portd = 2
Do
If Portd = 64 Then Portd = 1
Portd = 2 * Portd
Waitms 250
Loop

I oczywiście: Could not identify with ID:FFFFFF
i później: Selected chip and target chip do not match AT90S2313<>ATtiny2313
Proszę o pomoc
PS:Mam zainstalowaną drukarkę, ale chodzi na USB, bo na LPT raczej już nie idzie kupić, a kompa kupiłem z półtora roku temu, nie wiem co jest , bo przeszukałem google i przeskoczyłem wszystkie tematy jakie były i nie znalazłem odpowiedzi na dręczące mnie zagadki z uC! Co mnie jeszcze zaniepokoiło, bo zauważyłem, że w dokumentacji dołączonej do ZL2PRG wyszczególnione są poszczególne AVR'y:AT90S1200,AT90S2313,AT90S2323,AT90S2333,AT90S2343,AT90S4414,AT90S4434,
AT90S8515,AT90S8534,AT90S8535,ATmega8,ATmega16,ATmega64,ATmega103,ATmega128,
ATmega161,ATmega163,ATmega323,ATtiny12,ATtiny15 - ALE NIE zauważyłem ATtiny23

Przy fusebitach nic nie grzebałem!!!
załączam fotki z konfiguracji programu
http://img182.imageshack.us/my.php?imag ... 290eq7.png
http://img442.imageshack.us/img442/6797/57128061nq1.png
http://img64.imageshack.us/img64/4517/82470665qi6.png
http://img122.imageshack.us/img122/7955/49854498td7.png

Kiedy wchodzę w program chip->Program manual to otrzymuję następujące dane:
http://img479.imageshack.us/img479/4316/55fr6.png
http://img479.imageshack.us/img479/1157/66lk4.png
http://img399.imageshack.us/img399/7127/77me8.png

RcTomek
-
-
Posty:357
Rejestracja:18 lip 2005, o 17:28
Lokalizacja:Głogów / Wrocław

Postautor: RcTomek » 6 sie 2007, o 13:32

Czy płytkę testową masz bezpośrednio połączoną z portem LPT? Jeżeli tak, to w zakładce programmer ustaw sample electronics programmer.
Jaką wartość mają rezystory R15...R18? Sprawdziłeś, czy wszystko jest dobrze połączone (kabel prog.)?

rxxxp
-
-
Posty:5
Rejestracja:18 wrz 2006, o 08:57
Lokalizacja:Krościenko Wyżne
Kontaktowanie:

Postautor: rxxxp » 7 sie 2007, o 10:10

Witam!Płytkę mam połączoną przez RS232, zasilanie miałem przez zasilacz, teraz podłączyłem przez USB (oczywiście zwory na właściwym miejscu), a programator miałem podłączony przez długi kabel LPT, ale go wywaliłem, bo myślałem, że to jest może przyczyną i podłączyłem bezpośrednio - niestety dalej nie działa! Rezystory:
R15 - 99.1Ω
R16 - 98.8Ω
R17 - 98.8Ω
R18 - 98.9Ω - mierzone miernikiem cyfrowym.
Acha chcę nadmienić, że port LPT używam po raz pierwszy od nowości, bo wcześniej nie było okazji!
Nie rozumiem co znaczy, że płytkę mam podłączoną bezpośrednio z LPT Jeżeli tak, to w zakładce programmer ustaw sample electronics programmer, bo czytałem, że tak się podłącza wtedy jak się mam prosty programator robiony w opisu w książce "Mikrokontrolery dla początkujących" lub w kursie "Mikroprocesorowej oślej łączki".
I mam jeszcze jedno pytanie : dlaczego jak zmienię w zakładce programer typ programatora to pisze: Could not identify with ID:FFFFFF, a jak na inny to:Could not identify with ID:000000
Wyjaśnij mi to bo teraz już nie rozumiem nic!
Nie wiem, ale może te obrazki w czymś pomogą, szczególnie ostatnie linijki:
http://img170.imageshack.us/img170/4919/88rt1.png
http://img405.imageshack.us/img405/7576/99ya8.png
Ostatnio zmieniony 8 sie 2007, o 12:02 przez rxxxp, łącznie zmieniany 2 razy.

RcTomek
-
-
Posty:357
Rejestracja:18 lip 2005, o 17:28
Lokalizacja:Głogów / Wrocław

Postautor: RcTomek » 7 sie 2007, o 17:31

Zasilanie na pewno dobrze jest podłączone? Na n.20. tiny2313 powinno być +5V. Na czas samego uruchamiania odłącz kabel RS-232, jest zbędny. Rezystory są ok; chodziło mi o to, że większe wartości niż 100R mogą uniemożliwić poprawną pracę. W moim przypadku był to (zbyt duży) rezystor 330R na końcówce MISO. Według dokumentacji ZL11AVR złącze JP9 służy do programowania przez ISP. Mówiąc "podłącz bezpośrednio" miałem na myśli to, abyś nie wpinał adaptera ZL2PRG, tylko połączył to właśnie wg. opisu z książki "Mikrokontrolery dla początkujących" i ustawił w opcjach Bascom'a electronics sample programmer (Options -> Programmer). Tam właśnie ustawia się typ używanego programatora. Podłączjąc wszystko pod LPT staraj się robić to przy wyłączonym komputerze, ponieważ wyczytałem gdzieś, że wyjścia tego portu nie są zabezpieczone. Kabel programujący powinien być oczywiście w miarę krótki. Warto także rozładować swoje ciało np. dotykając obudowy komputera.

P.S. Płytkę testową montowałeś sam, czy kupiłeś gotową?

rxxxp
-
-
Posty:5
Rejestracja:18 wrz 2006, o 08:57
Lokalizacja:Krościenko Wyżne
Kontaktowanie:

Postautor: rxxxp » 8 sie 2007, o 11:16

Witam! Wszystkie elementy kupowałem gotowe z http//:www.kamami.pl! Zasilanie na pewno jest, bo inaczej by się dioda D1 nie świeciła!
Kabel programujący ma 1 metr -taki dostałem orginalnie!
Dzisiaj dołączyłem sobie LED'a do programatora zgodnie z instrukcją http://img370.imageshack.us/img370/9383/zl2wo9.png i jak komp jest wyłączony to dioda się pali, a jak włączę kompa to gaśnie - więc LPT jest sprawne!
Mam pytanie odnośnie tego +5V, czy może ono być ze złącza JP3 z pinu 2 (VCC), bo tak zrobiłem! - http://img148.imageshack.us/img148/4997/zl2wo9lb3.jpg
Na uC napięcie jest 5.08V! Za fiksa już nie wiem co jest grane! Spróbuję jeszcze programować z odłączonym portem RS232!

[ Dodano: 08-08-2007, 11:23 ]
Zwory mam ustawione w ten sposób:
http://img337.imageshack.us/img337/1443/zl11lh7.png

[ Dodano: 08-08-2007, 11:26 ]
Próbowałem zaprogramować bez podłączonego RS232 i dalej nic Dioda z programatora zaświeciła się na czas programowania, zgasła- wyskoczyło Could not identify with ID:FFFFFF i dioda świeci cały czas!!!
Zresetowałem uC zwierając zwory R i G skompilowałem program i F4 i dalej Could not identify with ID:FFFFFF, ale teraz dioda programująca zgasła.


I żeby było jasne - programator mam podpięty do złącza JP3, a nie JP9!
Nie wiem, ale może zworki mam coś pochrzanione?!
A jak nie to pozostaje kwestia uszkodzonego uC ATtiny 2313!
Spróbuję jeszcze jutro(bo dziś już brak czasu) zmontować programator wg opisu z książki uC dla początkujących - i mam nadzieję, że nie spalę sobie portu LPT!!??
Tylko, że wg opisu z książki są tam rezystory 330 Ω???

RcTomek
-
-
Posty:357
Rejestracja:18 lip 2005, o 17:28
Lokalizacja:Głogów / Wrocław

Postautor: RcTomek » 8 sie 2007, o 14:18

I żeby było jasne - programator mam podpięty do złącza JP3, a nie JP9!
Nie wiem, ale może zworki mam coś pochrzanione?!
A jak nie to pozostaje kwestia uszkodzonego uC ATtiny 2313!
Spróbuję jeszcze jutro(bo dziś już brak czasu) zmontować programator wg opisu z książki uC dla początkujących - i mam nadzieję, że nie spalę sobie portu LPT!!??
Tylko, że wg opisu z książki są tam rezystory 330 Ω???
Nie posiadam płytki ZL11AVR, posługuję się dokumentacją http://www.btc.pl/pdf/zl11avr.pdf - to tak dla rozjaśnienia sytuacji. JP9 oznaczone jako PROG wygląda mi bardziej złącze programujące poprzez ISP. Albo z płytką jest coś nie tak albo uC jest skopany. Zmontuj programator wg schematu z książki i daj znać co i jak. Aha... rezystory możesz dać 330R, tylko pod MISO podepnij 100R.

rxxxp
-
-
Posty:5
Rejestracja:18 wrz 2006, o 08:57
Lokalizacja:Krościenko Wyżne
Kontaktowanie:

Postautor: rxxxp » 8 sie 2007, o 21:59

Kupiłem nowy uC zobaczymy czy ten ruszy?!
Niestety nie ruszył - :631: dalej to samo!

RcTomek
-
-
Posty:357
Rejestracja:18 lip 2005, o 17:28
Lokalizacja:Głogów / Wrocław

Postautor: RcTomek » 9 sie 2007, o 13:33

Mówię Ci, złóż ten prosty programatorek z książki. Do tego potrzeba 6-cio żyłowego kabelka, podstawkę, kondensator, 4 rezystory i kwarc! Wtedy zobaczysz czy uC rusz czy nie. Ewentualnie możesz to podpiąć do innego komputera, gdzie na 100% jest sprawny port LPT. To przecież musi działać.

P.S. Pamiętaj żeby w tym przypadku ustawić „electronics sample programmer”.

elemid
-
-
Posty:318
Rejestracja:22 mar 2003, o 17:49
Lokalizacja:Polanica Zdrój
Kontaktowanie:

Postautor: elemid » 9 sie 2007, o 19:04

Opowiem Wam ciekawą historyjkę. W moim starym Fujitsu&Siemens Amilo M-6100 było kilka opcji w biosie dotyczących portu LPT (tryby pracy). Domyślnie ustawiony był Dual coś tam, i na tym domyślnym ustawieniu programator STK200 nie działał. Przestawienie w biosie trybu portu równoległego na ECP rozwiązywało problem :-)

Pozdrawiam
Mariusz

RcTomek
-
-
Posty:357
Rejestracja:18 lip 2005, o 17:28
Lokalizacja:Głogów / Wrocław

Postautor: RcTomek » 9 sie 2007, o 21:23

Że też wcześniej o BIOSie nie pomyślałem :) Możliwe, że to jest przyczyną problemu.
Ja działam Abicie NF-7, domyślene ustawienia LPT to ECP + EPP. Są to ustawienia umożliwiające dwukierunkową transmisię danych.

rxxxp
-
-
Posty:5
Rejestracja:18 wrz 2006, o 08:57
Lokalizacja:Krościenko Wyżne
Kontaktowanie:

Postautor: rxxxp » 11 sie 2007, o 08:50

Panowie temat się rozwinął, ale dalej stoję w miejscu!Chcę nadmienić, że w BIOSie też przestawiałem na ECP! Na razie brak mi czasu na zmontowanie programatorka, ale postaram się coś zdziałać niebawem!

[ Dodano: 14-08-2007, 13:23 ]
Panowie jestem happy!!! Skombinowałem własny programator i działa, nie wiem co jest grane z tym ZL2PRG, bo zapłaciłem za niego 70zł imam dylemat, czy go nie zwrócić?!
A oto wyniki:
http://img170.imageshack.us/img170/978/dsc00186or9.jpg
http://img158.imageshack.us/img158/4419/gittc5.png

RcTomek
-
-
Posty:357
Rejestracja:18 lip 2005, o 17:28
Lokalizacja:Głogów / Wrocław

Postautor: RcTomek » 14 sie 2007, o 23:25

Widzę, że podłączyłeś płytkę testową bezpośrednio pod port równoległy. Czyli rozumiem, że połączenie LPT < - > ZL11AVR działa, a LPT < - > ZL2PRG < - > ZL11AVR już nie. Czyżby na prawdę adapter ISP nawalił? Sprawdź jeszcze połączenia między JP3 a uC.

sazian
-
-
Posty:8
Rejestracja:28 sie 2007, o 21:45
Lokalizacja:b-tów

Postautor: sazian » 28 sie 2007, o 21:56

wiem że trochę nie na temat ale masz błąd w programie
If Portd = 64 Then Portd = 1
powinno być

Kod: Zaznacz cały

If pind = 64 Then Portd = 1
i lepiej podawaj liczby w systemie dwójkowym wtedy zapis jest jest bardziej czytelny

tak wiem to jest stary temat ale tak mnie jakoś naszło :)

RcTomek
-
-
Posty:357
Rejestracja:18 lip 2005, o 17:28
Lokalizacja:Głogów / Wrocław

Postautor: RcTomek » 28 sie 2007, o 22:17

powinno być

Kod: Zaznacz cały

If pind = 64 Then Portd = 1
Niekoniecznie... Rejestr PINx służy jedynie do odczytywania rzeczywistego stanu końcówki procesora! W szczególnych przypadkach zawartość rejestru PORTx nie ma żadnego wpływu na to, co znajduje się w PINx. Przykładem są końcówki uC skonfigurowane jako wejścia w stanie wysokiej impedancji, czyli tzw. wejścia "pływające".
i lepiej podawaj liczby w systemie dwójkowym wtedy zapis jest jest bardziej czytelny
Jak kto woli :) Ja preferuję w HEX :622:

P.S. To jest fragment przykładowego programu z "Mikroprocesorowej oślej łączki" z EdW. Na pewno jest dobrze.

Awatar użytkownika
pajaczek
Moderator
Moderator
Posty:2653
Rejestracja:24 sty 2005, o 00:39
Lokalizacja:Winny gród

Postautor: pajaczek » 28 sie 2007, o 23:00

i lepiej podawaj liczby w systemie dwójkowym wtedy zapis jest jest bardziej czytelny
Jak kto woli :) Ja preferuję w HEX :622:
osemkowy rulez :619:

sazian
-
-
Posty:8
Rejestracja:28 sie 2007, o 21:45
Lokalizacja:b-tów

Postautor: sazian » 29 sie 2007, o 11:11

cytat z książki "Programowanie mikrokontrolerów AVR w języku BASCOM"
Do odczytu stanu logicznego wyprowadzeń portów należy zawsze używać rejestru PINx, anie PORTx, gdyż odczyt zawartości rejestru PORTx, spowoduje odczytanie tylko stanu wewnętrznych zatrzasków, anie aktualnych stanów logicznych linii portu.
kto ma racie :632:

RcTomek
-
-
Posty:357
Rejestracja:18 lip 2005, o 17:28
Lokalizacja:Głogów / Wrocław

Postautor: RcTomek » 29 sie 2007, o 14:26

Do odczytu stanu logicznego wyprowadzeń portów należy zawsze używać rejestru PINx, anie PORTx, gdyż odczyt zawartości rejestru PORTx, spowoduje odczytanie tylko stanu wewnętrznych zatrzasków, anie aktualnych stanów logicznych linii portu.
kto ma racie :632:
Mniej więcej to samo Ci napisałem. Przeczytaj wszystko jeszcze raz i uważnie. Owo "zawsze" tyczy się przypadku, kiedy odczytujesz rzeczywisty stan końcówek procesora! Jeżeli zachodzi potrzeba odczytania zawartości rejestru PORTx, niezależnie od stanu PINx (który nie ma wpływu na zawartość PORTx), odczytujemy dane właśnie z PORTx.

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 24 gości