Stap 3: programmeren
Dit is een eenvoudig programma voor AVR ATmega16...
#define F_CPU 1000000UL
#include
#include
#define USART_BAUDRATE 1200 / / waarde van de Baud-Rate
#define BAUD_PRESCALE ((F_CPU / (USART_BAUDRATE * 16UL)) - 1)
voidusart_init()
{
UCSRB | = (1 << RXEN) | (1 <
UCSRC | = (1 << URSEL) | (1 <
UBRRL = BAUD_PRESCALE;
UBRRH = (BAUD_PRESCALE >> 8);
}
unsignedintusart_getch()
{
terwijl ((UCSRA & (1 << RXC)) == 0);
{
}
retourneren UDR;
}
voidusart_putch (unsigned char verzenden)
{terwijl (! () UCSRA & (1 <
{
}
UDR = Stuur;
}
voidputstr (unsigned char * str)
{
int i = 0;
while(str[i]!='\0')
{
usart_putch(str[i]);
_delay_ms(100);
i ++;
}
}
void main()
{
usart_init();
DDRC = 0XFF;
PORTC = 0XFF;
while(1)
{
int een = usart_getch();
if(a=='F')
{
PORTC = 0b00000101;
}
if(a=='B')
{
PORTC = 0b00001010;
}
if(a=='R')
{
PORTC = 0b00000110;
}
if(a=='L')
{
PORTC = 0b00001001;
}
}
}