UART ATMEL lettere con eco
Ciao,
voglio realizzare un sistema eco, ovvero se premo a dalla tastiera voglio ottenere [a] sul PC. Il mio setup si basa su un ATs902313 con quarzo esterno tutto collegato via RX e TX ad un convertitore UART to USB. Il PC utilizza Hyperterminal per scambiare dati; il software è riportato di sotto:
P.S per ora ho ottenuto solo questo: premo 'a' e il micro risponde [ ] perche?????
voglio realizzare un sistema eco, ovvero se premo a dalla tastiera voglio ottenere [a] sul PC. Il mio setup si basa su un ATs902313 con quarzo esterno tutto collegato via RX e TX ad un convertitore UART to USB. Il PC utilizza Hyperterminal per scambiare dati; il software è riportato di sotto:
P.S per ora ho ottenuto solo questo: premo 'a' e il micro risponde [ ] perche?????
- Codice: Seleziona tutto
#include <inttypes.h>
#include <avr/io.h>
void Inizia_UART (void)
{
UBRR=25; // Getting baud rate by table in datasheet
UCR = ((1<<TXEN)|(1<<RXEN)) ; //start up the receiver and transmitter
}
void UASend( unsigned char data)
{
UDR=data; // send data to PC
while (((USR) & (1<<TXC))==0)
{
}
}
unsigned char UARead()
{
while (((USR) & (1<<RXC))==0)
{
}
//receive data from PC
return UDR;
}
void main (void)
{
Inizia_UART();
SREG=(128);
unsigned char data;
while(1)
{
data=UARead();
UASend('[');
UASend(data);
UASend(']');
}
}