Sari la conținut
ELFORUM - Forumul electronistilor

ATMega8 comunicatie cu PC pe RS232, MARI PROBLEME, HEEEEELP!


Vizitator prigbel

Postări Recomandate

Vizitator prigbel

Nu reusesc sa trimit date la PC pe RS232, Din p.v. HW totul e OK, in sensul ca pe PC primesc date dar total aiurea. Poate nu stiu eu cum sa trimit. la unele cuvinte trimise da eroare la altele nu. PT o analiza mai detaliata anexez fisierul .asm pate ma ajuta cineva!!! Programelul trimite repetat un cuvant la PC in cazul asta $FB, pe calculator receptionez $C0.Cu hiperterminalul nu vad nimic, am luat cateva programele demonitorizare a portului serial si acolo m-am jucat.

Link spre comentariu
  • Răspunsuri 6
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • mitescu

    2

  • dandumit

    1

Nu stiu ce viteza ai, (depinde de oscilator) cu factorul de 47 ,( de ex. 7.37MHz ai 9600 baud), verifica Si important vezi ca ai setat DOI BITI de stop . Daca vrei 8N1 atunci nu te bagi in reg.UCSRC, este default la resetCa sfat, trimite un caracter ascii care este lizibil in hyperteminal ( A = $41)

Link spre comentariu
Vizitator prigbel

E de coma chestia asta!!! Folosesc un Quartz de 7.3728MHz rata de bit 9600, paritate N, biti de stop 2, date 8. eu ii dau sa trimita $47 si citesc [C0][00][C0] , cand trimite $46 citesc [00][00][C0]. CRED CA O SA IL AJUSTEZ CU CIOCANUL !!! :axe:

Link spre comentariu
Vizitator severika

SalutCam aceeasi problema o aveam si eu candva; problema e de sincronizare (ie viteza, baudrate, bla-bla) incearca sa setezi o viteza mai mica la baudrate (ex mie mi-a mers ok la 4800 cu orcilatorul intern la 1MHz)Morala e ca, cu cat ii setezi un baudrate mai mare, cu atat cresc erorile, si ai avea nevoie de o frecventa de ceas mai mare; 9600 cred ca ar merge OK de la 8MHz in sus.SAU, ai putea sa folosesi un mediu (sau generator de cod) serios, care sa-ti faca e calculale; Eu folosesc de ceva timp CodeVision, fara probleme.Sper sa te ajute.

Link spre comentariu
Vizitator yoco

incerc sa dau un sfat:

setarile tale pt. conifg sunt bune din fisierul .asm dar cateva chesti care ar fi de adaugat ...

 

1. prin "SEI" ai activat intreruperile globale si in codul tau nu folosesti nici macar o intrerupere care sa necesite acest lucru

2. daca vrei sa faci o bucla de intarziere calculata la un interval fix sfatul meu e sa folosesti un programel numit "AVRDelayloop3"

il gasesti aici :

http://www.electronics-lab.com/downloads/mcu/003/index.html

sau daca vrei sa faci tu neaparat bucla sfatul me e sa folosesti alti registri decat r0,r1,r2... etc pt ca registrii de uz general incep cu r16 pana la r31.

Link spre comentariu

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 cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări