Jump to content
ELFORUM - Forumul electronistilor

Problema cu o interfata USART - USB


nana

Recommended Posts

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 to comment
Share on other sites

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 to comment
Share on other sites

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 to comment
Share on other sites

  • 2 weeks later...

Archived

This topic is now archived and is closed to further replies.

×
×
  • 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