Hier ist mein aktueller Code:
Code:
#include <iom163v.h>
#include <macros.h>
void port_init(void)
{
DDRA = 0x00;// Taster am STK500
DDRB = 0xff;//LEDs am STK500
DDRD = 0x02;// RXD an PD0 und TXD an PD1
}
//UART0 initialize
// desired baud rate: 9600
// actual: baud rate:9615 (0,2%)
void UART0_init(void)
{
UBRR = 0x19; //set baud rate
UCSRB = 0xD8; //enable
}
#pragma interrupt_handler UART0_rx_isr:12
void UART0_rx_isr(void)
{
PORTB=UDR;
}
#pragma interrupt_handler UART0_tx_isr:14
void UART0_tx_isr(void)
{
}
//call this routine to initialize all peripherals
void init_devices(void)
{
//stop errant interrupts until set up
CLI(); //disable all interrupts
port_init();
UART0_init();
MCUCR= 0x00;
GIMSK= 0x00;
TIMSK= 0x00; //timer interrupt sources
SEI(); //re-enable interrupts
//all peripherals are now initialized
}
int main(void)
{
init_devices();
while(1)
{
UDR=~PINA;
}
}
Lesezeichen