nevoie de ajutor 89c51 serie de comunicare

S

steluta

Guest
Salut prieteni

Am o problemă de comunicare în serie cu at89c51.Vreau să trimit 8 biţi de 0-255 de date, am folosit prima serie Mod 1, care funcţionează bine, dar pentru 1-255 zero i folosit modul 3 (9 biţi UART), dar aceasta a determinat o problema.
Sunt folosind ciudat paritate în PC.şi cu 8 biţi, rata de 9600 baud, 11.0592MHZ in uc.

mov a, # 161 (161 constantă poate fi variabil r0)
mov c, p
CPL c; ciudat pentru paritatea
mov tb8, c
mov sbuf, un

dar încă funcţionează, timp de 7 biţii de date <128, dar, uneori, unele ori primeşte sau nu.Sunt confuz
există nici o problemă în codul?Sunt folosind Visual Basic, dar am încercat Hyper terminal dar când i transmit 161 zecimal da-mi 237 şi multe erori de la> 127 de valori.
Aveţi nevoie de ajutor.dar vă rog, cât mai curând posibil.Chiar am nevoie să ştiu bug?
Ultima editare de steluta pe 20 ianuarie 2004 11:04; edited 1 time in total

 
Z eksperymentu, który F-Secure przeprowadził wspólnie z Europolem, wynika, że konsumenci beztrosko narażają swoje dane osobiste i lekkomyślnie akceptują absurdalne warunki korzystania z sieci.

Read more...
 
Salut,

De ce, folosind paritatea mcu în cazul în care nu acceptă paritate!.Ar trebui să utilizaţi PC-ul în 9600 N81 (9600 Bits / s nr paritate 8 biţi de date şi 1 bit stop.

utilizează modul de 8 biţi pe mcu şi setaţi buadrate gen corecte.
trimite un octet şi verificaţi înainte de a vă pune un nou octet trimite în registru în cazul în care momentan gol ...

Asta este tot ..

Paul.

 
ok acum

9600, N, 8,1 funcţionează bine cu MCU pentru 0-255 dar PC-ul nu a fost determinig cele două 0s valoare.
Hyper terminal este în continuare negru rightward semn pentru 2 consecative VB zero-uri, dar nimeni nu se arată, prin urmare, este dreptul de VB (null arate), dar conta creşteri tampon, care este clar că unele primeşte.
Am fost de verificare hyperterminal.0 este null caracterul.2 zero-uri, dar sunt de luare a semna dat în imaginea de mai jos (rightward negru semn).
care a fost confuz, mă duc la paritatea de comunicare.dar este posibil să fie doar de un caz pentru a arata 2 null caracter de acest semn, care vin doar pentru consec.zero-uri, nu ca orice alt moment de 0 şi 1, sau 0 si non valoarea zero.

De asemenea, PaulHolland, paritatea verifica comunicare este susţinută pe at89c51 folosind TB8 şi RB8 biţi în 9 biţi UART mode.M-am pierdut pentru a verifica paritatea pavilion, dacă îmi schimb de comunicare pe care apoi că va fi, de asemenea, de bună ca alte pe MCU at89c51.
Ne pare rău, dar ai nevoie de autentificare pentru a vizualiza acest ataşament

 
Max steluta,

Stiu ca se poate utiliza mcu in 9 Mod de biţi şi de a face 8a bit
dvs. paritate de biţi, dar de ce te-ai >??..sa nu da nici o protecţie mai bună utilizare CRC în loc ...BTW: stii cum a calcula rapid la paritate de 8 biţi cuvântul ???..

cu respect,

Paul.

 
Sunt folosind 89c51want de a comunica date cu PC-ul la 8 biţi, paritatea pic chiar,
nu mai puţin 1.Au încercat orice organism folosind modul 3, dacă da, puteţi trimite codul sursa te rog.Adăugat după 6 minute:steluta a scris:

ok acum9600, N, 8,1 funcţionează bine cu MCU pentru 0-255 dar PC-ul nu a fost determinig cele două 0s valoare.

Hyper terminal este în continuare negru rightward semn pentru 2 consecative VB zero-uri, dar nimeni nu se arată, prin urmare, este dreptul de VB (null arate), dar conta creşteri tampon, care este clar că unele primeşte.

Am fost de verificare hyperterminal.
0 este null caracterul.
2 zero-uri, dar sunt de luare a semna dat în imaginea de mai jos (rightward negru semn).

care a fost confuz, mă duc la paritatea de comunicare.
dar este posibil să fie doar de un caz pentru a arata 2 null caracter de acest semn, care vin doar pentru consec.
zero-uri, nu ca orice alt moment de 0 şi 1, sau 0 si non valoarea zero.De asemenea, PaulHolland, paritatea verifica comunicare este susţinută pe at89c51 folosind TB8 şi RB8 biţi în 9 biţi UART mode.
M-am pierdut pentru a verifica paritatea pavilion, dacă îmi schimb de comunicare pe care apoi că va fi, de asemenea, de bună ca alte pe MCU at89c51.
 
de ce eşti tu, folosind hyperterminal?

Ai nevoie de un terminal de program care afişează datele în hex.AvrTerm.exe este foarte bun pentru depanare micro la terminal aplicaţii.

uite, în acest thread:

http://www.edaboard.com/viewtopic.php?t=282294&highlight =

Am postat de asemenea, unele simplu UART sursa acolo.

Succes

 

Welcome to EDABoard.com

Sponsor

Back
Top