Elektroda.pl
Elektroda.pl
X
IGE-XAOIGE-XAO
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Miniprogramator mikrokontrolerów AT89Cx051 na LPT

Nemo 28 Sty 2007 11:57 51073 145
  • #91
    pug
    Poziom 10  
    Komputer: Athlon XP 2600+ (1,9GHz), 1GB RAM,
    LPT: zgadza się $387H i programator na tym porcie jest wykrywany w obu wersjach programu
    LPT: jest w trybie bidirectional
    System: WinXP + UserPort
    Próbowałem na 3 kościach i cały czas to samo
    przycisk wciskam zgodnie z prośbami programu.

    Programator ma wszystkie elementy zgodne ze schematem, nie zmieniałem nic w projekcie.

    Grunt, ze działa na 1.1.3 :)

    spróbuję jeszcze na komputerze w pracy i zobaczę, czy tam zadziała...

    Pozdrawiam.
    Roman.
  • IGE-XAOIGE-XAO
  • #92
    Nemo
    Poziom 31  
    Dziwna sprawa, że działa pod wersją 1.1.3, a nie pod 1.2.0. Na podobnej konfiguracji sprzętowej programator był testowany z powodzeniem. Do sterowania używałem wersji 1.2.0 i wszystko było w porządku. Skoro zatem można pracować na starszej wersji, to proszę tak robić.

    Zastanawiające jest, że najwięcej problemów mają posiadacze płyt z procesorami AMD. Być może to jakaś kwestia sprzętowa, związana z portem LPT, gdyż o błędne działanie systemu operacyjnego nie posądzam.

    Pozdrawiam.
  • #93
    wasi
    Poziom 12  
    Witam,
    Programator mam od ponad roku (zamówiłem cały gotowy) ale nigdy nie miałem czasu dochodzić dlaczego nie programuje. Ostatnio próbuję się do niego przekonać (normalnie kożystam z BASCOMowego). I w tym momencie mam kilka drobnych pytań co do oprogramowania:

    1. Gdzie w wersji 1.2.0 ustawia się czas opóźnienia ? Wersja 1.1.3 z ustawionym np:30 działa i wypisuje "0 BAD" a w 1.2.0 jeszcze nie udało mi się zaprogramować nic.
    2. Będę się czepiał :) Czy nie dało by się wprowadzić nowszej wersji na podstawie 1.2.0 tyle że bardziej przyjazną dla użytkownika - ergonomia. Mam oczywiście XP u siebie.
    a/ Okno na starcie otwiera się nieco za małe i pojawiają się paski przewijania (XP ma grubszą belkę okna).
    b/ Nie rozumiem też dlaczego klawisze muszą być takie rozrzucone. Niech grid z bufforem będzie rozijany razem z okienkiem. Klawisze rozmieszczone bardziej kompaktowo. Okno na starcie mniejsze. Po za tym to jest mnustwo sposobów na zapamiętanie wielkości okna przy jego zamykaniu. Zawsze okno podglądu bufora może być też w osobnym okienku, bo przy normalnym programowaniu nie jest ono do niczego potrzebne.
    c/ Pasek postępu ma dwa stany 0% i 100%. podczas zmiany jego stanu trzeba dać chwilkę aplikacji na jego odrysowanie (Update).

    3. Poprzednich postach jest sporo o różnych dodatkach w kolejnych wersjach ale nic pozatym. Kiedy można w takiej sytuacji spodziewać się nowszej wersji ? Może jednak OpenSource - programiści kod uporządkują i rozwiną projekt do granic możliwości programatora :)

    Jeśli będę miał jeszcze jakieś upierdliwe uwagi to się odezwę :D Pozdrowienia.
  • #94
    Nemo
    Poziom 31  
    Program w wersji 1.2.0 jest przystosowany nie tylko dla tego programatora, dlatego od strony graficznej/ergonomicznej jest taki, jaki jest. Z tego też powodu jego wersja OpenSource jest w chwili obecnej wykluczona. Stosowną propozycję złożyłem spory czas temu (można znaleźć w tym temacie post), jednak odzew był znikomy. Zatem, na dzień dzisiejszy - program pozostaje w takim stanie, jaki był.

    Oczywiście, można zapamiętać rozmiar okna itd. z pewnością będzie to zrealizowane w jednej z najbliższych wersji. Jeśli chodzi o paski przewijania, również zostaną wyeliminowane (efekt występuje tylko w WinXP).

    Wersja 1.2.0 nie posiada ustawianego opóźnienia, gdyż stosowny czas odmierza automatycznie system operacyjny. Najwyraźniej nie we wszystkich komputerach jednakowo.

    Zastanawia mnie powód, dla którego wersja 1.2.0 nie programuje układów. Wykonałem osobiście wiele testów, na różnych maszynach i z różnymi systemami (98SE, 2000, XP) i wszędzie było dobrze. Wina leży przy tym po stronie programu sterującego, skoro działa wersja 1.1.3.

    Dziwi mnie także pasek postępu (w wersji 1.2.0) - na pewno nie przeskakuje z 0% do 100%. Wersja 1.1.3 faktycznie miała tę procedurę niedopracowaną, jednak wynikało to z innych powodów, niż przerysowanie okna.

    Chętnie posłucham o dalszych propozycjach modyfikacji programu. :)

    Pozdrawiam.

    PS. Nowsza wersja programu będzie niebawem dostępna na stronie.
  • #95
    wasi
    Poziom 12  
    Cytat:
    Chętnie posłucham o dalszych propozycjach modyfikacji programu.

    Witam więc ponownie :)

    Cytat:
    Wersja 1.2.0 nie posiada ustawianego opóźnienia, gdyż stosowny czas odmierza automatycznie system operacyjny. Najwyraźniej nie we wszystkich komputerach jednakowo.

    To w czym przeszkadza dodanie takiego okienka jak w wersji 1.1.3 dodanie w menu pozycji "Informacje" z możliwością zmiany aktualnie ustalonej przez program wartości opóźnienia ?

    Kolejna kwestia to podpinanie programu programatora do edytora. Czy nie dało by się wczytać do bufora pliku podanego jako parametr (oczywiście z rozpoznaniem BIN/HEX). Właściwie to nie pytanie bo wiem że się da :) To raz...
    A dwa to jeden klawisz 'Programuj' powodujący uruchomienie procedury:
    1. Wykrycie układu
    2. Wymazanie pamięci (Erase)
    3. Programowanie
    4. Weryfikacja
    Oczywiście z odpowiednim wywoływaniem prośby o wciskanie 'Reset'.
    Potem jeśli mamy już w parametrze zawartość buforka to możemy uruchomić taką procedurę i uchroni nas to od męczenia myszki zbędnym klikaniem.
    Również zapamiętanie portu pomogło by przyspieszyć procedurę. Choć od wersji 1.1.3 auto wykrywanie to już postęp.
    Co do paska postępu to właściwie mogę nic nie mieć bo to i tak extra bajerek :)
    Po za tym to chętnie pomogę w zmianach graficznych pod siebie :) (służbowo jestem programistą Delphi a C nie jest mi obce).

    Pozdrawiam
  • IGE-XAOIGE-XAO
  • #96
    Nemo
    Poziom 31  
    Powiem, że to ciekawy pomysł - mam na myśli programowanie automatyczne plikiem z parametru. W oryginale założenie jest takie, że to programator prosty, amatorski, zatem nie przystosowany do masowego programowania. Stąd brak owego programowania automatycznego i klikanie. Ale to też można rozwiązać, dając dwie wersje obsługi: prostą i zaawansowaną. :)

    Jeśli chodzi o opóźnienie, to w wersji 1.2.0 wykorzystano funkcję składową (albo dziedziczoną...) komponentu TForm -> Sleep(int ile_milisekund). Zakładam zatem, że działa ona zgodnie z założeniem. Możliwe, że fakt niedziałania programu na niektórych maszynach zależy właśnie od tego. Ponieważ mam teraz dostęp do nieco szybszego sprzętu, spróbuję wykonać odpowiednie testy i sprawdzić, czy o to chodzi.

    Pozdrawiam.
  • #97
    wasi
    Poziom 12  
    Zawsze kwestie takie można rozwiązać konfiguracją tj opcje na CheckBoxach:
    1. Autowykrywanie układu przy programowaniu.
    2. Czy wymazać pamięć przed prgramowaniem.
    3. Czy weryfikować po programowaniu.

    A co do stwierdzenia 'masowego programowania' to się nie zgadzam :) , bo pisząc program bardzo często popełnia się błędy. Wtedy poprawia się taki jeden i od razu chce się sprawdzić działanie. Ale oto pojawia się kolejny błąd... i tak w kółko. Jeden procek, jeden program brak masowości :) a co trzeba się teraz naklikać to trzeba :D

    A tak apropos Sleep. Z moich badań wynik, że w systemach <2k timerek systemowy odmierzał czas mniej dokładnie nić nowsze systemu. w W98 Sleep(0) powoduje opóźnienie od 15 do 30ms. W 2k i XP działa już zdecydowanie dokładniej. Stąd może też testowanie może być nieco utrudnione.

    To w takim razie już nie mogę się doczekać nowszej wersji...
  • #98
    Nemo
    Poziom 31  
    Wstępne testy pokazały, że opóźnienia pod W98 i XP są niemal identyczne na takich samych maszynach. Ciągle mnie zastanawia, co powoduje problemy w innych przypadkach. Przed umieszczeniem nowszej wersji konieczne jest jeszcze przeprowadzenie paru testów.

    Chyba bliżej, niż dalej.

    Pozdrawiam.
  • #99
    wasi
    Poziom 12  
    Chętnie potestuję wersję beta programu w końcu umnie to nie działa. Mogę zaproponować też wprowadzenie do aplikacji (choćby w wersji beta) pewnego loga rejestrującego np: czasy, jeśli takowy jest w stanie pomóc w wyjaśnieniu problemu.

    Dodatkowo mam pytanie, bo przyglądałem się procesorkom 89C5X i wydaje mi się, że mają one dużo wspólnego w programowaniu. Może się mylę. A jeśli nie, to czy nie dało by się zrobić przejściówki to tego programatora żeby róznież takie procesory programować ?
  • #100
    Nemo
    Poziom 31  
    Owszem, taka przejściówka jest możliwa do wykonania, jednak wymagałaby to dodatkowego nakładu pracy. Trzeba dobudować zewnętrzny licznik, który byłby taktowany sygnałem zegarowym. W zamierzeniach ten programator był używany do małych Atmeli i tylko nich. Większe możliwości rozbudowy ma PEP-02 (pełne dwukierunkowe linie), choć do niego również należałoby zrobić specjalną przejściówkę. Poza tym nie wymaga dwukierunkowości LPT'a, ani żadnych opóźnień. No, ale to inna historia.

    Nowa wersja już niedługo.

    Pozdrawiam.
  • #101
    wasi
    Poziom 12  
    Już nie mogę się doczekać nowej wersji. Najbardziej mi osobiście aktualnie zależy na "seryjnym" programowaniu czyli automatyczny zapis programu z parametru do układu z ładnym okienkiem postępu całego procesu (wykrywanie, kasowanie, zapis, weryfikacja) przerywana prośbami o wciskanie RESET o ostatecznym komunikatem, że się udało albo nie.

    Jeszcze nurtuje mnie pytanie czy nie dało by się automatycznie wciskać tego resetu? znaczy przez port wysawiać jedynke lub zero i jakiś tranzystorek wysterowywać ? wtedy wogóle byłby wypas programatorek.

    I jeszcze pytanie techniczne, bo ja po zaprogramowaniu wyciągam poprostu kostkę z programatora nie wyłączając zasilania ani nie wyciągając programatora z portu. Normalnie wszystko działa ale czasami mam wątpliwości czy ten metalowy śrubokręt włożony pod kostkę nie spowoduje zwarcia i mi się wszystko spali :) jest na taki coś szansa czy po zaprogramowaniu układ nie pracuje ?
  • #102
    Nemo
    Poziom 31  
    Z tym programowaniem seryjnym może być pewien problem. Przynajmniej w tym momencie. Pomysł jest dobry i z pewnością będzie realizowany. Chociaż zastanawiam się nad stworzeniem drugiej aplikacji do tego celu. Powiedzmy PortManager CL (command line). No, zobaczymy.

    Naciskanie resetu niestety jest konieczne. W porcie LPT brakuje dwóch linii do sterowania. Jedną udało mi się wykombinować (właściwie z dwóch zrobiłem trzy - stąd układ z bramkami), ale już drugiej nie. Wymagałoby to dodatkowego rejestru na płytce programatora. Dlatego jest przycisk.

    Wyciąganie układu z podstawki jest trochę problematycznym rozwiązaniem. Osobiście mam taki "wkrętak" z tworzywa, choć wielokrotnie wyciągałem metalowym. Węższym sporo od scalaka. Podczas krótkiego zwarcia masy z liniami sygnałowymi w zasadzie nie powinno się nic stać, ale zawsze pozostaje margines ryzyka. Lepiej tego unikać.

    Pozdrawiam.
  • #103
    wasi
    Poziom 12  
    Nemo napisał:
    Z tym programowaniem seryjnym może być pewien problem. Przynajmniej w tym momencie. Pomysł jest dobry i z pewnością będzie realizowany. Chociaż zastanawiam się nad stworzeniem drugiej aplikacji do tego celu. Powiedzmy PortManager CL (command line). No, zobaczymy.

    To może chociaż dodatkowy klawisz "Wykryj,Kasuj,Programuj,Weryfikuj", który wykona wszystkie akcje? Zakładam również, że nowa wersja będzie radziła sobie z opóźnieniami.
    Wogóle ważne żeby program był wygodny w użyciu. Niestety narazie kożystam z wersji 1.1.3 i zadowolony za bardzo nie jestem. Działa ale za chwilkę użyje programiku, który za mnie będzie klikał pokoleji:
    [F4], [ENTER], [ENTER], [ENTER], [F3], [TAB], [TAB], [ENTER], [F1], [TAB], [TAB], [TAB], [DOWN], [Shift+TAB], [Shift+TAB], [Shift+TAB], [RIGHT], [ENTER], [ENTER], [F6], [TAB], [TAB], [ENTER],... tu koniec bo niestety trzeba klikać w reset. :) Widać ile trzeba żeby zaprogramować procka pierwszym HEXem w katalogu bieżącym. I to za każdym nowym programem.

    Pozdrowienia.

    Dodano po 3 [minuty]:

    A co do osobnej wersji to nie chyba nie ma takiej potrzeby. Każdemu EXEkowi można podać parametry. Wystarczy sprawdzić czy zostały podane i jeśli tak to uruchomić procedurę programowania w głównym programie. Nawet nie musi wtedy dojść do otwarcia głównego okna, byle tylko komunikaty się pokazywały.
  • #104
    Nemo
    Poziom 31  
    Dzięki za zwrócenie uwagi.

    Załatwianie programowania jednym przyciskiem będzie zrobione. Spróbuję też zrobić automatyczne ładowanie *.HEX z linii komendy.

    Opóźnienia mnie trochę martwią, bo u mnie działają bez problemu i na maszynach, na których były testowane. Nie mam pomysłu, co jest nie tak. Ponieważ mam teraz dostęp do PIV 3GHz, sprawdzę i na nim.

    Pozdrawiam.
  • #105
    Nemo
    Poziom 31  
    W ostatnim czasie został rozpoznany i rozwiązany poważny problem, który pojawiał się na niektórych płytach głównych. Usterka objawiała się niemożnością wykrycia mikrokontrolera w podstawce, a zatem i jakichkolwiek operacji na nim związanych.

    Problem spowodowany jest tym, że w niektórych nowych i względnie nowych komputerach, stan wysoki ("1") na wyjściach portu LPT, odpowiada napięciu rzędu 3,3V lub niżej. Do poprawnej pracy programatora wartość ta jest czasami niewystarczająca. Należy wtedy dokonać prostej przeróbki programatora, aby problem przestał być uciążliwy.

    Dokładna procedura przeróbki jest opisana: w TYM miejscu.

    Pozdrawiam.

    PS. Na stronie jest też nowa wersja programu PortManager LT 1.2.0.2 - uwzględniająca tę zmianę.
  • #106
    hak99
    Poziom 15  
    witam

    ja mam następny problem

    wykrywa mi programator, lecz nie widzi procka 2051, sprawdzałem już 3 procki, programator wykrywało przed przeróbkami, potem po pierwszej przeróbce z bramką też widziało, 2 przeróbka to wycofanie układu 4047 po tej też wykrywało lecz dalej nie widzi procków, piny P3.3 i P3.4 P... oraz xtal 1 mają dziwne wskazania voltowe, czasem jest 1,8V czasem 2,5, czym to może być spowodowane to nie wiem, może mam trefne atmelki, dodam ich napisy AT89C2051-24PI, AT89C2051-24PC

    czy można sprawdzić te procki jakoś inaczej czy są sprawne?

    ewentualnie kupił bym do nich sprawny programator za niewielką kase, mam tych procków kilkadziesiąt sztuk, i bardzo zależy mi aby odpalić programator, na początek mi wystarczy
  • #107
    KowalD
    Poziom 17  
    a ja przed chwila zlozylem programator i mam takie problemy... generalnie to zainstalowalem ten program do portow xp i je odblokowalem... w biosie ustawilem port na SPP... i program wykrywa mi programator... ale jak wykonuje test... to przy sprawdzaniu dwukierunkowosci (przez opornik 20k wiekszego nie znalazlem) napiecie na nim jest ponad 4V... czyli to port jest zly?? plytka asus a8n... w kolejnych czesciach testu sa poszczegolne 1 i zera na pinach... ale w badaniu przetwornicy (w programie jest dwa razy,ze jest wlaczona i nie wiem o co tu chodzi) nie wiem jakie to piny mam polaczyc tym rezystorem, czy to chodzi o piny 1 i 7 ukladu multiwibratora (U3), czy o ktore?? i czy rezystor 20k moze byc?? program nie wykrywa mikrokontrolera wlozonego do programatora... czy to wina tego lpt?? czy cos jeszcze moge miec nie tak??


    edit:
    no dobra... odpalilem... u kumpla na kompie zadzialal... wykrywa mikrokontroler... ale jak zaprogramuje jakis program i wezme weryfikacje to sa bledy same... ale gdy pozniej wezme czyszczenie programu i potem weryfikacje to wszystko jest dobrze... czy to bedzie wina tych 12 voltow do programowania?? bo nie ustawialem nigdzie tego napiecia, bo nie wiem gdzie je mierzyc (kila linijek wyzej).
  • #108
    wasi
    Poziom 12  
    A ja mam pytanie dotyczące ostatniej przeróbki. Jeśli mam starszy komputer i na pinach mam 5V a nie 3.3V to czy programator bez przeróbek z nowym programem będzie działał dobrze ? Znaczy się do tej pory nie miałem problemów z wykrywaniem układu i czy tak nadal zostanie ?
  • #109
    KowalD
    Poziom 17  
    mi juz sie udalo odpalic programator :)... po drodze okazalo sie, ze przy potencjometrze cyna sie uruszyla i jest zimny lut... ale co wazniejsze, nie udalo mi sie uzyskac napiecia 12V bez dolutowania kolejnego rezystora 10k (teraz r4 mam 5k)...
  • #110
    Nemo
    Poziom 31  
    Przeróbka w programatorze nie ma wpływu na działanie programu i na odwrót. Nawet zastosowanie przerobionego programatora do komputera z portem LPT 5V nie powinno sprawić problemu. Taka konfiguracja była testowana z powodzeniem.

    Nowa wersja ma poprawione opóźnienia i działa na każdej wersji programatora.

    Test portu LPT z rezystorem można wykonać nawet przy pomocy rezystorów 10k, 4k7, 2k2 i 1k. Niektóre porty mają bardzo mocny pull-up i wymagają niższych wartości rezystora. Ostateczny test najlepiej wykonać wykrywając mikrokontroler. Jeśli wykryje, to jest dobrze.

    Elementy przy przetwornicy zależą w dużej mierze od użytego dławika. W niektórych przypadkach może być konieczna zmiana rezystorów na mniejsze. W rozwiązaniu stosowanym przeze mnie nie było takiej sytuacji ze względu na powtarzalną jakość dławików.

    Z trybami pracy LPT czasami trzeba poeksperymentować. U mnie chodzi np. na EPP. Na starszych komputerach na SPP i Normal.

    Pozdrawiam.
  • #111
    Krater28
    Poziom 17  
    Witam
    To mój pierwszy post na tym forum.
    Mam systemXP płyta A8N... pod proc. AMD3000+ (1,81GHz 64bity)
    Mam problem z tym programatorem - na test dwukierunkowości (rezystor) napięcie wskazuje ponad 4V czyli tak jakby nie był dwukierunkowy (ustawiałem już w BIOS-ie SPP i EPP - bez zmian). Do testu odpalałem wersję 1.1.3. Adres portu mam 378/iRQ7. Przy ustawieniu tego portu w programie 1.1.3 wyświetla że nie ma urządzenia (bez różnicy czy wkładam programator czy też nie) natomiast jak ustawię port w programie $3BCH to wyświetla mi komunikat że znaleziono urządzenie (bez różnicy czy wkładam programator czy też nie):
    Miniprogramator mikrokontrolerów AT89Cx051 na LPT
    Natomiast odpalając program 1.2.0 zawsze mi się wyświetla komunikat
    Miniprogramator mikrokontrolerów AT89Cx051 na LPT
    Wyświetla się on zawsze przy starcie programu oraz przy przechodzeniu z dowolnej zakładki na zakładkę LPT, nie można nic ustawić i jest problem z zakończeniem programu - muszę wciskać "trzech króli" żeby zakończyć program. Zaznaczam że skopiowałem bibliotekę "UserPort.sys" do katalogu "drivers"
    Mam programator wykonany przez siebie do procesorów AVR ( http://avrhelp.mcselec.com/bascom-avr.html?Sample_Electronics_cable_programmer ) i działa bez problemów więc uszkodzenie portu LPT raczej nie wchodzi w grę bo wykrywa procesory AVR i prawidłowo programuje.
  • #112
    Nemo
    Poziom 31  
    Nie wystarczy skopiować pliku userport.sys do katalogu drivers!!! Trzeba jeszcze włączyć driver. Dokładna procedura tej czynności jest opisana na stronie.

    http://programator.elektroda.net napisał:

    Do pracy w środowisku systemów NT oraz XP potrzebne jest zainstalowanie drivera UserPort. Po ściągnięciu archiwum instalacja jest bardzo prosta. Wymagany jest jedynie dostęp do konta administratora, z poziomu którego można instalować sterowniki. Robimy to tak:

    1. Rozpakowujemy plik UserPort.zip gdziekolwiek
    2. Przenosimy plik UserPort.sys do katalogu Windows/System32/Drivers
    3. Uruchamiamy program UserPort.exe z dowolnej lokalizacji
    4. Na dole programu wciskamy przycisk START
    5. ...i gotowe.

    Driver UserPort.sys otwiera zablokowane przez systemy pokrewne NT porty I/O na stałe. To znaczy, że po pierwszym wciśnięciu START driver jest cały czas aktywny, nawet po wyłączeniu i ponownym włączeniu komputera. Jeśli tak się nie dzieje, należy zrobić to samemu programem UserPort. Wyłączenie drivera dokonujemy również w nim, naciskając przycisk STOP. Działanie drivera UserPort.sys jest widoczne od razu po uruchomieniu programu sterującego programatorem. W systemie rodziny NT bez drivera UserPort.sys po odpaleniu PortManagera LT otrzymujemy komunikat o naruszeniu praw dostępu. Po włączeniu drivera nic takiego się nie dzieje, a program pracuje normalnie.


    Nigdy mi się nie zdarzyło, bez względu na typ komputera z Win XP, aby to nie działało. Dopiero po uruchomieniu drivera można robić test dwukierunkowości portu LPT. Inaczej żadne dane nie są wysyłane. Warto o tym pamiętać.

    Pozdrawiam.
  • #113
    Nemo
    Poziom 31  
    Uwaga

    Przerobione programatory PFP-01, dostosowane do niskich napięć portu LPT, zgodnie z procedurą opisaną w TYM miejscu, wymagają nowego programu sterującego. W chwili obecnej jest dostępna nowa wersja PortManagera LT 1.2.0.3, która nie zawiera błędu powodowanego przez przerobiony programator. Poprzednia wersja 1.2.0.2 wywoływała na niektórych platformach sprzętowych uciążliwe programowanie początku pamięci końcowymi danymi, uniemożliwiające działanie układu. Obecna wersja PortManagera jest wolna od tej wady.

    Dziękuję Panu Radosławowi za pomoc w odnalezieniu tego błędu.

    Pozdrawiam.
  • #114
    wasi
    Poziom 12  
    witam,
    Jakiś czas z zadowoleniem korzystałem z programatorka ale przyszedł moment na zmianę komputera i zaczęły się schody. Wersja 1.1.3 niby działa, nie sypie komunikatami, ale nawet przy opóźnieniu 300 weryfikacja komunikuje, że cała pamięć jest BAD. Natomiast wersja 1.2 najnowsza ze strony co by nie zrobić krzyczy za każdym razem 'Privileged instruction'. UserPort mam standardowo zainstalowany, uruchomiony. Komputer jest jak na mnie wypas bo to Intel pentium EE4400 2GHz z 2GB ram. Co mogę zrobić żeby znów móc zacząć programować te czarne klocki AT89C2051?
  • #115
    Nemo
    Poziom 31  
    To dziwne, że przy UserPort są problemy. A może w komputerze jest Vista? W tym przypadku nie jestem w stanie udzielić odpowiedzi, gdyż nie mam dostępu do komputera z takim systemem. Nigdy też nie były wykonywane testy na komputerach z procesorem tego typu. Powód - brak dostępu do takowego.

    Proszę spróbować kilka razy włączyć driver programem. Może to jest powodem?

    Pozdrawiam.
  • #116
    wasi
    Poziom 12  
    Witam, no niestety nie jest to Vista tylko zwykły XP Home. Sam UserPort próbowałem niejedokrotnie uruchamiać i wyłączać. Często same zabawy z UserPortem prowadzą do nagłego restartu komputera (reset) choćby operacje dodania jakiegoś adresu, znaczy się natychmiast po kliknięciu klawisza Update.

    Właśnie przed chwilką chciałem wyłączyć UserPort. Kliknąłem Start, odpowiedział "..already started", kliknąłem STOP. komputer się zrestartował... "System odzyskał sprawność działania po poważnym błędzie."
    Sygnatura błędu:
    BCCode : 1000000a BCP1 : 458BEC87 BCP2 : 000000FF BCP3 : 00000000
    BCP4 : 80544D4F OSVer : 5_1_2600 SP : 2_0 Product : 768_1

    podaje żeby było ciekawiej :) i mimo tego że UserPort jest started to PortManager ni chu chu.

    Chciałem przy tej okazji zapytać czy nie było by możliwe napisanie podobnego programu w Javie. Byłby plus bo można by go na linuxie uruchamiać. A przy okazji może powstała by wersja wsadowa programu, o której wspominałem jakiś czas temu.

    Pozdrawiam.
  • #117
    Nemo
    Poziom 31  
    Trudno mi powiedzieć, co powyższy błąd oznacza. Nigdy się z takim nie spotkałem. Testy PortManagera LT na XP (Home i Prof) z UserPort'em były przeprowadzane na kilkunastu komputerach i nigdzie nie było żadnego problemu. Może driver z czymś koliduje i tu jest problem? Np. z jakimś IOPort'em, albo czymś podobnym i stąd ten błąd? To jedyna rzecz, jaka mi przychodzi do głowy.

    Niestety, nie programuję w Javie, zatem taka wersja PortManager'a z pewnością nie powstanie. Jednakże nie jest to chyba problem krytyczny. Skoro jest zapotrzebowanie na program Linuxowy, chciałbym taki napisać. Taką wersję "konsolową", jednak w chwili obecnej nie mam wystarczającej wiedzy. Konkretnie interesuje mnie, jak taki program skompilować i jak uzyskać bezpośredni dostęp do portów. Może jakaś mała podpowiedź?

    Pozdrawiam.
  • #118
    wasi
    Poziom 12  
    Witam ponownie,
    Kontynuuje poprzedni post... Znalazłem w końcu chwilę czasu i znalazłem stary programator MCSa z Bascoma... uruchomiłem i działa na opisanej wyżej dwurdzeniowej maszynie. Nawet na ustawionym w Bascomie opóźnieniu=0 nie ma żadnego problemu z programowaniem. Czyli port jest ustawiony dobrze i działa.

    Co do javy to ja osobiście polecam http://www.eclipse.org/ co jest kompletnym środowiskiem do programowanie w Javie i nie tylko. Samego języka Java nie będę opisywał bo to nie temat tego forum. Do edytora Eclipse trzeba dociągnąć coś takiego jak JavaComm. Dzięki klasom w tym pakiecie dostajemy dostęp do portów szeregowych i równoległych w trybie niekombinowanym (bez user port). Działa to znakomicie, sam korzystam z RS232 w projektach i działa. Dodatkowo użycie javy i JavaComm pozwala na uruchamianie aplikacji bez potrzeby jej zmiany równocześnie na Windowsie i linuxie. Po prostu przerzuca się coś.jar na linuxa, uruchamia i działa. W związku z tym, że program nie wymaga właściwie GUI to wklejenie procedur obsługi parametrów i programowania do programu HellowWord będzie banałem.
    Polecam na poznanie tego środowiska i czekamy na nową wersję programu.
  • #119
    joozwa
    Poziom 31  
    Witam wszystkich
    Chciałbym "podłączyć się" z dwoma pytaniami odnośnie programatora.
    Po pierwsze, czy narysowany na schemacie filtr zasilania (2x22uF i dławik 47uH) jest wymagany tylko w wypadku zasilania programatora z portu USB? Jeżeli zamierzam zasilać układ z uA7805, to on jest też konieczny?
    Po drugie, ktoś z kolegów napisał jakiś czas temu, że tranzystora BC550C nie wolno zastąpić BC550B? Rzeczywiście tak jest? Czemu? Wg. not katalogowych te grupy różnią się tylko wzmocnieniem (chyba, że coś przeoczyłem), a wzmocnienie grupy "B" jest chyba też wystarczające?
    Bardzo proszę o wyjaśnienie, jestem początkujący i chciałbym wystrzec się błędów przy budowie programatora. Pozdrawiam

    @Nemo, już rozumiem, dzięki :) Pzdr.
  • #120
    Nemo
    Poziom 31  
    Filtr zasilania ma za zadanie usunąć zakłócenia, które mogą się przedostawać z przetwornicy do reszty układu programatora. W tym do mikrokontrolera. Ponadto w przypadku zasilania z komputera ma to istotne znaczenie.

    Tranzystor BC550B był testowany wielokrotnie i na 3 egzemplarze żaden nie działał, natomiast na BC550C było wszystko w porządku. Przypuszczam, że problem leżał we wzmocnieniu. Dlatego wybrano właśnie taki.

    Pozdrawiam.