Vizitator eulbv Postat Octombrie 2, 2008 Partajează Postat Octombrie 2, 2008 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 spre comentariu
roadrunner Postat Octombrie 3, 2008 Partajează Postat Octombrie 3, 2008 1. Ai grija sa setezi in hyper terminal - no flow control.2. Pune codul de initializare la UART (unde programezi si baud rate-ul) sa-l vedem si noi.3. Verifica daca ai conectat Rx tau cu Tx ul PC-ului si invers.R. Link spre comentariu
Vizitator eulbv Postat Octombrie 3, 2008 Partajează Postat Octombrie 3, 2008 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 spre comentariu
roadrunner Postat Octombrie 3, 2008 Partajează Postat Octombrie 3, 2008 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 spre comentariu
Vizitator eulbv Postat Octombrie 4, 2008 Partajează Postat Octombrie 4, 2008 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 spre comentariu
Laci Postat Octombrie 4, 2008 Partajează Postat Octombrie 4, 2008 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 spre comentariu
Vizitator eulbv Postat Octombrie 5, 2008 Partajează Postat Octombrie 5, 2008 Am sa incerc sa fac si chestia echo,iar cablul e foarte scurt ca e pe aceiasi placuta. Link spre comentariu
Vizitator eulbv Postat Octombrie 6, 2008 Partajează Postat Octombrie 6, 2008 Am schimbat si max232 si am facut si echo.La echo ce trimit aia primescdeci e bine mai incolo nu stiu ce are ca nu ma prind, o sa mai insist.... Link spre comentariu
Vizitator eulbv Postat Octombrie 7, 2008 Partajează Postat Octombrie 7, 2008 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 spre comentariu
Laci Postat Octombrie 7, 2008 Partajează Postat Octombrie 7, 2008 pune versiunea de cod ce folosesti.Cum ai setat fuse biti? ca degeaba pui crystal de 4MHz daca merge pe oscilator intern RC de 1Mhz. Link spre comentariu
Vizitator eulbv Postat Octombrie 8, 2008 Partajează Postat Octombrie 8, 2008 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 spre comentariu
Laci Postat Octombrie 8, 2008 Partajează Postat Octombrie 8, 2008 M-am uitat pe seriala.c este ok codul(ma rog in afara de setari pe 0 inutile, si bucla de while ( ( UCSRA & (1< Link spre comentariu
Vizitator eulbv Postat Octombrie 9, 2008 Partajează Postat Octombrie 9, 2008 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 spre comentariu
Laci Postat Octombrie 9, 2008 Partajează Postat Octombrie 9, 2008 Deobicei se pune 18p, dar trebuie studiat pdf-ul cristalului(daca este). Link spre comentariu
aghora17 Postat Noiembrie 15, 2008 Partajează Postat Noiembrie 15, 2008 ai verificat setarile de clock? poate esti e ceasul intern 1Mhz, si ai setarile la seriala penreu clock-ul extern Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum