// Testowanie zmiennych i stałych w pamieci SRAM
#include <avr/io.h> // dostep do rejestrów
#include <stdlib.h> // zawiera m.in. deklaracje funkcji itoa
#include "global.h" // zawiera definicje typów całkowitych
#include "uart.h" // obsługa portu szeregowego
// zamiana nazw funkcji (zobacz do uart.h)
#define getchar UART_getchar
#define putstr UART_putstr
void putint(int value) // wysyła na port szeregowy tekst value
{
char string[4]; // bufor na wynik funkcji itoa
itoa(value, string, 10); // konwersja value na wartosc dziesietna
putstr(string); // wyslij string na port szeregowy
}
void puttekst(int value) // wyswietla tekst z liczba
{
putstr("\n\rSpodziewamy sie wartosci ");
putint(value);
putstr(" - wyslij dowolny znak...\n\r");
}
const pazdziernik = 10;
int main( void ) // program główny
{
u08 val = 8; // deklaracja i inicjalizacja zmiennej
register u08 val2 = 12; // deklaracja zmiennej w rejestrze
UART_init(); // inicjalizacja portu szeregowego
puttekst(8); // spodziewamy sie 8
getchar(); // czekaj na znak z portu szeregowego
putint(val); // wyswietl val
val = 130; // zmien wartosc zmiennej
puttekst(130); // spodziewamy sie 130
getchar(); // czekaj na znak z portu szeregowego
putint(val); // wyswietl val
puttekst(12); // spodziewamy sie 12
getchar(); // czekaj na znak z portu szeregowego
putint(val2); // wyswietl val2
puttekst(10); // spodziewamy sie 10
getchar(); // czekaj na znak z portu szeregowego
putint(pazdziernik); // wyswietl pazdziernik
pazdziernik=3; // próba zmiany wartosci stałej
puttekst(3); // spodziewamy sie 3
getchar(); // czekaj na znak z portu szeregowego
putint(pazdziernik); // wyswietl pazdziernik
while(1); // petla nieskonczona
}Jak zapewnie wiadomo jest to jeden z najpopularniejszych poradników/kursów ale proszę o pomoc jak to skompilować. Używam programy avr studio i mam problem 10 erorów:
../gkjhkgh.c:5:77: error: avr/global.h: No such file or directory
../gkjhkgh.c:6:66: error: avr/uart.h: No such file or directory
../gkjhkgh.c: In function 'putint':
../gkjhkgh.c:16: warning: implicit declaration of function 'UART_putstr'
../gkjhkgh.c: At top level:
../gkjhkgh.c:26: warning: type defaults to 'int' in declaration of 'pazdziernik'
../gkjhkgh.c: In function 'main':
../gkjhkgh.c:30: error: 'u08' undeclared (first use in this function)
../gkjhkgh.c:30: error: (Each undeclared identifier is reported only once
../gkjhkgh.c:30: error: for each function it appears in.)
../gkjhkgh.c:30: error: expected ';' before 'val'
../gkjhkgh.c:31: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'val2'
../gkjhkgh.c:31: error: 'val2' undeclared (first use in this function)
../gkjhkgh.c:33: warning: implicit declaration of function 'UART_init'
../gkjhkgh.c:36: warning: implicit declaration of function 'UART_getchar'
../gkjhkgh.c:37: error: 'val' undeclared (first use in this function)
../gkjhkgh.c:53: error: assignment of read-only variable 'pazdziernik'
make: *** [gkjhkgh.o] Error 1
Build failed with 10 errors and 4 warnings...
W jak mam dodać te biblioteki (irytuje mnie odpowiedź wykładowcy że musimy sami pomyśleć)
I po co próbować zmienić coś czego zmienić nie można, chodzi o stałą pazdziernik.