Sari la conținut
ELFORUM - Forumul electronistilor

Problema cu o interfata USART - USB


nana

Postări Recomandate

Am problema urmatoare am interfatat un MCU cu ajutorul unui cip de conversie hardware din semnal USART in USB care imi face un VCP (virtual com port) insa problema este urmatoarea cipurile interactioneaza bine intre ele dar apare urmatoarea chestie pot sa trimit stringuri, caractere insa nu pot nici cum sa trimit valori INT pe Usart ele imi sunt interpretate ca niste caractere ciudate ... am folosit codvision am sa pun codu mai jos al functiei de trimitere Deci cand apas 2 imi apare U in terminal la receptie insa cand apas 1 imi pare un caracter ambigu :(Pls help am de trimis niste date numerice neaparat pe portu USB!!interrupt [uSART_RXC] void usart_rx_isr(void){int g=1;char status;int data; status=UCSRA;data=UDR;if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0) { rx_buffer[rx_wr_index]=data; if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE) { rx_counter=0; rx_buffer_overflow=1; }; }; if(data=='1') { UDR=g; printf("%s",g);} //citestepixeli(); else if (data=='2') UDR='U'; }

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

Top autori în acest subiect

  • nana

    2

  • bogdan_

    1

  • vsurducan

    1

Top autori în acest subiect

Daca folosesti cipuri de tip FTD232 sau FT232RL merge perfect ca VCP, problema e altundeva.Utilizeaza un Realterm pentru citirea caracterelor.http://pici.3x.ro

Am problema urmatoare am interfatat un MCU cu ajutorul unui cip de conversie hardware din semnal USART in USB care imi face un VCP (virtual com port) insa problema este urmatoarea cipurile interactioneaza bine intre ele dar apare urmatoarea chestie pot sa trimit stringuri, caractere insa nu pot nici cum sa trimit valori INT pe Usart ele imi sunt interpretate ca niste caractere ciudate ... am folosit codvision am sa pun codu mai jos al functiei de trimitere Deci cand apas 2 imi apare U in terminal la receptie insa cand apas 1 imi pare un caracter ambigu :(Pls help am de trimis niste date numerice neaparat pe portu USB!!interrupt [uSART_RXC] void usart_rx_isr(void){int g=1;char status;int data; status=UCSRA;data=UDR;if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0) { rx_buffer[rx_wr_index]=data; if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0; if (++rx_counter == RX_BUFFER_SIZE) { rx_counter=0; rx_buffer_overflow=1; }; }; if(data=='1') { UDR=g; printf("%s",g);} //citestepixeli(); else if (data=='2') UDR='U'; }

Link spre comentariu

salut,tu ai vrea sa trimiti de exemplu pe x = 123 si sa apara pe ecran '123' ?daca e asa, trebuie sa folosesti o functie care iti transforma numarul x in stringul '123'. Nu cunosc code vision asa de bine, dar stiu ca are asa ceva, vezi in help.

Link spre comentariu
  • 2 săptămâni mai târziu...

conversile din int in string char se fac automat de obicei in C, deci e destul sa pun "%s", 123 si se receptioneaza ca string insa nu functioneaza.. am incercat toate variantele

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