tanger
05.12.2007, 12:05
Hallo
ich hab meinen mega128 im M103C mode laufen lassen nun bruach ich Portc als input, daher hab ich es raus genommen.
Leider funktioniert nun mein uart nicht mehr:
#define BAUD 9600
#define UBRR_BAUD ((16000000/(16UL*BAUD))-1)
UBRR0H = (uint8_t) (UBRR_BAUD>>8);
UBRR0L = (uint8_t) (UBRR_BAUD & 0x0FF);
cli();
UCSR0B = (1<<RXEN1) | (1<<TXEN1) | (1 << RXCIE1);
UCSR0A = (1 << RXC1) | (1 << TXC1);
void put_uart_c(uint8_t c)
{
while(!( UCSR0A & (1<<UDRE)));
UDR0 = c;
}
uint8_t get_data(void)
{
while(!(UCSR0A & (1<<RXC0)));
return UDR0;
}
//sei wurd in der main ausgeführt
so ging das im m103c mode
nun bekomm ich es nicht mehr hin
aktueller code:
UCSR0C = ( 1<< UCSZ01) | ( 1 << UCSZ00) | (1 <<USBS0);
// UCSR0B = (1<<RXEN1) | (1<<TXEN1) | (1 << RXCIE1);
UCSR0A = (1 << RXC1) | (1 << TXC1);
//rest gleich
wäre echt super wenn mir einer helfen könnte
gruß
martin
ich hab meinen mega128 im M103C mode laufen lassen nun bruach ich Portc als input, daher hab ich es raus genommen.
Leider funktioniert nun mein uart nicht mehr:
#define BAUD 9600
#define UBRR_BAUD ((16000000/(16UL*BAUD))-1)
UBRR0H = (uint8_t) (UBRR_BAUD>>8);
UBRR0L = (uint8_t) (UBRR_BAUD & 0x0FF);
cli();
UCSR0B = (1<<RXEN1) | (1<<TXEN1) | (1 << RXCIE1);
UCSR0A = (1 << RXC1) | (1 << TXC1);
void put_uart_c(uint8_t c)
{
while(!( UCSR0A & (1<<UDRE)));
UDR0 = c;
}
uint8_t get_data(void)
{
while(!(UCSR0A & (1<<RXC0)));
return UDR0;
}
//sei wurd in der main ausgeführt
so ging das im m103c mode
nun bekomm ich es nicht mehr hin
aktueller code:
UCSR0C = ( 1<< UCSZ01) | ( 1 << UCSZ00) | (1 <<USBS0);
// UCSR0B = (1<<RXEN1) | (1<<TXEN1) | (1 << RXCIE1);
UCSR0A = (1 << RXC1) | (1 << TXC1);
//rest gleich
wäre echt super wenn mir einer helfen könnte
gruß
martin