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

ATmega8 ASM RS232 PC - podstawowe informacje

08 Wrz 2010 19:53 2395 9
  • Warunkowo odblokowany
    Witam

    Szukałem chwilę informacji na ten temat. Z powodu iż jestem zielony w tej kwestii nic nie znalazłem bo nie wiem sam czego szukam.

    Interesuje sie programowaniem AVR zwłaszcza ATmega8 od jakiś 6miesięcy. Mam już za sobą drobne bo drobne ale zawsze jakieś doświadczenia z tą dziedziną :). Nie jest mi obcy EEPROM czy inne podstawy AVR w ASM (te najbardziej potrzebne).

    Od kilku tygodni interesuje mnie i ciekawi sytuacja jak i czy mogę użyć ATmega8 jako takiego "Testera/próbnika" i aby te dane przesłał mi na PC w formie jakiś danych. Wiadomo na PC można zdecydowanie więcej zapisać co wydłuża czas np próbkowania.

    Taki przykład np chciałbym się podpiąć pod wtryski paliwa i zobaczyć co się tam dzieje na PC (po obróbce jakoś danych przesłanych przez ATmega8).

    No właśnie, z powodu iż nic nie wiem na ten temat (komunikacji) potrzebne mi wskazówki czego mam szukać.

    Znalazłem Tylko że muszę użyć układ scalony MAX232 do "pogodzenia" napięć PC i TTL. I to wszytsko ale jak przesyłać dane. Jaki program do PC sterownik czy coś to już nie znalazłem. Wszystko na co się napotkałem to BASCOM lub C a prawie nic w ASM (mówię o podstawowych informacjach na ten temat)

    Mam nadzieję że znajdzie się jakiś forumowicz który będzie miał chwilkę czasu aby koledze mniej wiedzącemu troche nakreślić drogę do sukcesu :)
  • Sklep HeluKabel
  • Pomocny post
    Poziom 28  
    Adrian_sekowski napisał:

    Znalazłem Tylko że muszę użyć układ scalony MAX232 do "pogodzenia" napięć PC i TTL. I to wszytsko ale jak przesyłać dane.

    Do transmisji danych w ATmega8 musisz użyć USART (Universal Synchronous and Asynchronous serial Receiver and Transmitter) w trybie asynchronicznym. Łączysz pin wyjściowy oznaczony w ATmega8 jako TXD z wejściem RXD w porcie szeregowym komputera, a pin wejściowy RXD w ATmega8 z wyjściem TXD w porcie szeregowym komputera. Oczywiście wszystko poprzez konwerter napięć MAX232. O transmisji szeregowej, konfiguracji USART'a musisz poczytać sam, bo tego nie da się ująć w kilku zdaniach.

    Adrian_sekowski napisał:

    Taki przykład np chciałbym się podpiąć pod wtryski paliwa i zobaczyć co się tam dzieje na PC (po obróbce jakoś danych przesłanych przez ATmega8).
    ...
    Jaki program do PC sterownik czy coś to już nie znalazłem.

    Gotowego programu interpretującego dane raczej chyba nie znajdziesz, ale żeby wysłać do ATmegi i odebrać z niej jakieś dane (w postaci binarnej lub tekstowej) można użyć jakiegoś darmowego terminala np. Bray Terminal lub Hercules. Konfigurujesz za jego pomocą port szeregowy komputera tak samo, jak skonfigurowałeś USART w ATmega (ta sama prędkość transmisji, ilość bitów danych itd.) , później klikasz "Open port" i już możesz przesyłać dane.

    P.S.
    W dokumentacjach mikrokontrolerów Atmela znajdziesz przykładowy kod do wysyłania i odbierania danych za pomocą USART, zarówno w ASM, jak i w C.
  • Sklep HeluKabel
  • Warunkowo odblokowany
    Ok dzięki wielkie przynajmniej wiem już od czego mam zacząć i czego szukać. Gdyby ktoś jeszcze chciał coś dorzucić to bardzo proszę na pewno się przyda jeżeli nie mnie to innym, a gdy ja coś znajdę też to tutaj postaram się zamieścić aby wszystko było w jednym miejscu :)
  • Poziom 38  
    Adrian_sekowski napisał:

    znalazłem. Wszystko na co się napotkałem to BASCOM lub C a prawie nic w ASM (mówię o podstawowych informacjach na ten temat)


    W DS są przecież gotowe procedury i obszerny opis UARTA ( w asm)
  • Warunkowo odblokowany
    gaskoin napisał:
    Adrian_sekowski napisał:

    znalazłem. Wszystko na co się napotkałem to BASCOM lub C a prawie nic w ASM (mówię o podstawowych informacjach na ten temat)


    W DS są przecież gotowe procedury i obszerny opis UARTA ( w asm)


    Tylko ktoś musiał mi powiedzieć że to czego szukam to jest właśnie UARTA - tak więc dzięki już wiem :)
  • Poziom 21  
    Jeżeli chcesz tylko wysyłać dane do PC to najprostszym sposobem podłączenia z jednoczesną separacją galwaniczną jest zastosowanie transoptora CNY17.
    Od strony ATmegi, CNY-2 do Tx , CNY - 1 do Vcc
    W PC CNY - 5 do pinu 2 w gn DB9 , CNY - 4 do pinu 6 w gn DB9

    Odbiór znaków w PC dowolnym terminalem.


    UWAGA: nie mam przy sobie tego kabelka ani PC z RS'em dlatego w gn DB9 może się okazać , że CNY trzeba podłączyć odwrotnie . Przepraszam ale piszę z pamięci.

    Dodano po 26 [minuty]:

    sorka zamiast pin 6 w gn DB9 powinno być pin 7 w gn DB 9
  • Warunkowo odblokowany
    Nie mam żadnego ale to żadnego pojęcia co ty tu mi napisałeś ale dzięki - gdy zajmę się tym tematem na pewno to zrozumie - mi będzie chodziło o komunikację raczej w dwie strony (po co się bawić w jedną skoro mam zamiar poznać jak to działa i zrozumieć - w ostateczności do czegoś wykorzystać sensownego)

    Ale jak pisałem bardzo dziękuje za wskazówki i informacje :)
  • Poziom 38  
    Adrian_sekowski napisał:
    gaskoin napisał:
    Adrian_sekowski napisał:

    znalazłem. Wszystko na co się napotkałem to BASCOM lub C a prawie nic w ASM (mówię o podstawowych informacjach na ten temat)


    W DS są przecież gotowe procedury i obszerny opis UARTA ( w asm)


    Tylko ktoś musiał mi powiedzieć że to czego szukam to jest właśnie UARTA - tak więc dzięki już wiem :)


    UART :P
    albo USART

    universal (synchronous)asynchronous receiver transmitter

    poza tym wyżej Andrzej_S napisał o tym
  • Poziom 18  
    Co do czytania tego co się dzieje od strony auta to interfejs CAN ale.... sam protokół jak znajdziesz to podaj nam skąd go wziąłeś ;) bo jakoś nie trafiłem nigdzie w necie