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

Przyczyna błędnych odczytów z mikrokontrolera

huzzar.ts 18 Cze 2017 13:21 963 6
  • #1 18 Cze 2017 13:21
    huzzar.ts
    Poziom 13  

    Cześć
    piszę właśnie aplikację w VB i jedną z jej części jest komunikacja z mikro-kontrolerem.

    Mam taki układ PC (Bascom Terminal) -> USB-UART RS232 PL2303HX AVR -> atmega8 -> wyświetlacz LCD.

    Po eksporcie programiku do procesora w stylu.

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod


    program działa (wyświetla na LCD komunikat) i nadaje do PC. Ale informacje odczytane wyglądają tak:

    Przyczyna błędnych odczytów z mikrokontrolera

    Sprawdzałem już nawet pracę programu VB który nadawał do mikro-kontrolera i odbierał echo. Mikro wyświetlał odebrany komunikat na LCD. Efekt był taki że dostawałem zwrotne echo w postaci "???????????????" a na LCD pojawiały się znaki z zegarka predatora.

    Co może być przyczyną? Sprawdzałem już różne ustawienia $crystal i $baud.
    Nie mam więcej pomysłów, i jeśli ktoś ma zamiar napisać Bascom Help itp. to mu smacznego rosołu życzę.

    0 6
  • Pomocny post
    #2 18 Cze 2017 14:16
    373522
    Użytkownik usunął konto  
  • #3 18 Cze 2017 14:53
    huzzar.ts
    Poziom 13  

    Nie bardzo wiem o czym do mnie piszesz.
    Do tej atmegi mam podłączone 2 silniki krokowe i LCD. Wszystko działa tak jak chcę. Nie działa transmisja, lub jest nieczytelna z jakiegoś powodu. Co ma sterowanie diodą Led poprzez port z tym wspólnego?

    O różnych ustawieniach pisałem odnośnie $baud i $crystal bo na forach podawane są różne konfiguracje. Myślałem że problemem jest częstotliwość.

    Ale domyślam się że moje problemy znikną jak podłącze diodę led i będzie mi mrugała.
    Fantastycznie... Że sam na to nie wpadłem.

    Dodano po 16 [minuty]:

    Teraz sprawdziłem jeszcze podłączenie bezpośrednia poprzez port RS232. Efekt jest dokładnie taki sam, te same znaki, taka sama reakcja atmegi i komunikat na LCD. Więc wygląda na to że przyczyną nie jest konwerter USB->RS232.

    0
  • Pomocny post
    #4 18 Cze 2017 15:23
    373522
    Użytkownik usunął konto  
  • #5 18 Cze 2017 16:38
    huzzar.ts
    Poziom 13  

    Nie chodzi tu o nastawienie tylko o to jaka panują obyczaje na elektrodzie.
    1/2 posty jakie się czyta to osoby z małym doświadczeniem są odsyłane po poradnikach albo spuszczane na... jakimś linkiem do pdf. co ma 356 stron.
    Gdybym tego nie napisał na wstępie to zanim Ty byś napisał cokolwiek to miałbym już odpowiedz z linkiem do pomocy Bascom.

    Z tego co widzę to muszę przyznać Ci racje że dioda mruga stosunkowo za wolno jak na częstotliwość 60 razy na minutę.
    Domyślam się że chodzi o to że nie ma podpiętego zewnętrznego kwarc :/

    niveasoft tak czy tak pomimo tego co kto o kim myśli dzięki za podpowiedz.

    0
  • #6 18 Cze 2017 16:56
    373522
    Użytkownik usunął konto  
  • #7 18 Cze 2017 18:42
    huzzar.ts
    Poziom 13  

    No i lipa,
    Procesor działa bardzo wolno.

    zmieniłem $crystal = 1000000 i działa szybciej (dioda miga w cyklu około 1 s)
    ale dioda na konwerterze usb-rs232 nie zmienia tępa. dalej miga w odstepie około 2-3 razy wolniej niz deklaruje w programie. Zmiana w Fuspite na 8MHz też nic nie dała.

    Czy przyczyną może być brak zewnętrznego kwarca?

    Dodano po 1 [godziny]:

    Dobra. mam :)
    Błąd był w ilości zer w $crystal

    Wystarczyło ustawić 1 000 000 i zaczęło śmigać.

    niveasoft dzięki za pomoc i spokojnej niedzieli.

    0