nana Postat Aprilie 8, 2009 Partajează Postat Aprilie 8, 2009 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
vsurducan Postat Aprilie 10, 2009 Partajează Postat Aprilie 10, 2009 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
bogdan_ Postat Aprilie 12, 2009 Partajează Postat Aprilie 12, 2009 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
nana Postat Aprilie 21, 2009 Autor Partajează Postat Aprilie 21, 2009 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
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