Jestem początkujący i chciałbym sprawdzić jak działa uart i Hyper Terminal. Chciałem za pomocą instrukcji z klawiatury zapalić diode lecz bez efektu. Prosze o wytknięcie złego rozumowania lub błędów w kodzie.
#include<avr/io.h>
#include<avr/interrupt.h>
void UartInit(void);
void LedInit(void);
volatile char cZnak='3';
int main(){
UartInit();
LedInit();
PORTC&=~(1<<PC3);
sei();
while(1){
switch(cZnak){
case '1':
PORTC&=~(1<<PC3);
break;
case '2':
PORTC|=(1<<PC3);
break;
default:
break;
}
}
return 0;
}
ISR(USART_RXC_vect){
cZnak=UDR;
}
void UartInit(void){
UCSRB|=(1<<RXCIE)|(1<<RXEN);
UCSRC|=(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
UBRRL=12;// 9600 bit/s- szybkość transmisji
}
void LedInit(void){
DDRC=(1<<PC3);
}