mam problem, bo nie wiem jak wyświetlić komunikat z numerem wciśnietego przycisku (button). Działam na symulatorze hapsim i włączam ATmege128. Można to zrobić pewnie przez swich- case, ale czy da się to zrobić krócej ?
Ten program akurat po naciśnięciu klawiszu na klawiaturze wysyła "x" do terminala.
I pytanie w jaki sposób zrobić tak, aby po wciśnięciu właśnie buttona wyskakiwał komunikat z numerem wciśniętego przycisku.
ktoś pomoże? : (
Ten program akurat po naciśnięciu klawiszu na klawiaturze wysyła "x" do terminala.
I pytanie w jaki sposób zrobić tak, aby po wciśnięciu właśnie buttona wyskakiwał komunikat z numerem wciśniętego przycisku.
void UART_init(void)
{
UBRR0H = (UART_CONST >> 8); // ustaw predkosc transmisji
UBRR0L = (UART_CONST & 0xFF);
_UCR_ = _BV(RXEN)|_BV(TXEN); // załacz tx, rx
}
// wysyła znak podany jako parametr na port szeregowy
void UART_putchar (char c)
{
UDR0 = c; // wpisz c do rejestru UDR
loop_until_bit_is_set(_USR_,TXC); // czekaj na zakonczenie transmisji
sbi(_USR_,TXC); // ustaw bit TXC w rej. USR
}
// odbiera znak z portu szeregowego i zwraca go jako wartosc funkcji
char UART_getchar (void)
{
loop_until_bit_is_set(_USR_,RXC); // czekaj na zakonczenie odbioru
cbi(_USR_,RXC); // skasuj bit RXC w rej. USR
return UDR0; // zwróc zawartosc rejestru UDR
}
int main(void) // program główny
{
UART_init(); // inicjalizacja portu szeregowego
sbi(LED_PORT_D,LED_BIT); // uyj linii jako wyjscia
while(1) // petla nieskonczona
{
//UART_putchar(UDR0); //wczytaj z klawiatury
UART_putchar('x');
UART_getchar(); // czekaj na znak z portu szeregowego
}
}
ktoś pomoże? : (