Jump to content
ELFORUM - Forumul electronistilor

USART


Guest eulbv

Recommended Posts

Salutare.Am si eu o problema cu un atmega8,in sensul ca nu reusesc sa trimit catre calculator pe seriala .Am folosit avr studio 4 pentru a verifica codul si registri arata cum trebuie dupa ce se executa(UDR contine valoarea care o vreau eu ),doar ca pe hyper terminal nu imi apare nimic.Legatura am facut-o cu, HIN 232,iar cablu e unul cumparat ,mufat de ei.Orice sugestie bine venita.Va multumesc.PS. Baud rate: 2400, 8 Data, 1 Stop, No Parity Iar oscilator de 4Mhz

Link to comment
  • Replies 15
  • Created
  • Last Reply

Top Posters In This Topic

Salutare.Uite acesta e codu pe care l-am incercat .Am mai folosit o versiune da pe care nu am salvato si pe care reusisem sa o fac sa mearga in simulator.Aceasta pe care o am acuma are ceva de care nu ma prind si anume in bucla de while(1) cand verifica daca bufferu e gol ca sa poata scrie ,dupa doua repetari nu se mai seteaza bitu UDRE.Si o ata problema e cu :"#define UDRIE 5" si anume ca nu inta in bucla decat daca pun udrie 6 lucru care eu zic ca e incorect. Programu care lam facut si mergea si simulat mai facea o verificare pentru flag_ul de transmisie completa si avea dupa un delay de 50ms. Mersi de sfaturi.

Link to comment

auzi pune si tu un caracter citibil in hyperterminal nu 0x05, de la 0x30 in sus(asta mi-a sarit in ochi) ma uit la cod si daca tot scrii in C, pune un printf("hello\n") ca face el tot in spate.#include FILE uart_str = FDEV_SETUP_STREAM(uart_putchar, NULL, _FDEV_SETUP_RW);int uart_putchar(char c , ) { if (c == '\n') uart_putchar('\r'); loop_until_bit_is_set(UCSR0A, UDRE0); UDR0 = c; return 0; }atentie exemplul asta e pentru atmega88 (dar probabil te-ai prins)R.

Link to comment

Am incercat din nou sa trimit si caractere si siruri de caractere si numere si nu merge.O sa merg sa imi cumpar alt convertor rs232 sa nu fie cumva din cauza asta .Atceva nu stiu.Incerc si alte idei daca mi se mai dau......

Link to comment

Nu trebuie sa cumperi alt convertor, mai intai testeaza-l legi rx cu tx si ce trimiti prin hyperterminal trebuie sa-ti apara ca un echo, nu uita sa alimentezi convertorul.Inca o chestie cat de lung e cablul dupa convertor si MCU(microcontroller)? Ca la nivel TTL nu merge cu cablu peste 1m.

Link to comment

Am refacut legaturile, am verificat cirucitele si n-m gasit inca nimic, dar orice as trimite , sau forma , adica hex , sir, decimal ,receptionez combinatii de : F8 00 80 00 80 , de exempu trimit numarul 2 primesc 00, trimit "azi" primesc F8 00 F8 , si in hex la fel. Am facut sa afisez pe terminal ceea ce trimit . Daca aveti idei va multumesc.

Link to comment

Codul scris e ceva mai sus seriala.c se numeste,iar biti si initializarile le face automat compilatoru avr studio, eu am selectat doar oscilator de 4mhz si setarile pe care am vrut sa le faca.

Link to comment

Am facut schimbarea de la 67 la 25 hex si nu mergea, m-am gandit dupa cum ai zis si tu Laci la oscilatoru acela si nu am gasit nicaieri ca il setez cumva si am scos oscilatoru de pe pini, dar nu a vrut sa se conecteze calculator pentru programare, am pus oscilatoru la loc dar fara cei doi condensatori, am setat din nou la 0x67 si surpriza mergea 10+.Cncluzia ,nu pot sa garantez ca e corecta ,dar prezenta celor doi condensatori ar parea ca fiind cauza(condensatorii erau de 33 pF nu cum zic producatorii 12-22pF).Nam mai incercat sa ii pun la loc sa vad daca merge.Mul?am mult celor care mi-au dat sfaturi.

Link to comment
  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines