Zauważyłem że kompilator umieszcza moje zmienne pod koniec pamięci SRAM. Podczas debugowania programu zauważyłem typowe objawy wysypania się stosu - program nie wracał w odpowiednie miejsce po zakończeniu funkcji. Ponadto dane znajdujące się pod koniec SRAM wyświetlane są na LCD. Pomimo, że zostały one wyczyszczone na początku programu po pewnym czasie zawierają pewne dane które widać na wyświetlaczu. W jaki sposób programowo (bądź w ustawieniach WinAvr) zadeklarować obszar stosu?
PS Piszę oczywiście w C
Problem się trochę rozwiązał...wykorzystuje całą dostępną pamięć SRAM i jeszcze trochę
Czy stałe muszę zapisywać w pamięci danych? Programuje wyświetlacz LCD Nokii i potrzebuje zadeklarowac sobie wszystkie znaki ale potem w programie nie ma potrzeby ich zmieniać. Zatem gdzie i jak to umieścić?
static const byte FontLookup [][5] =
{
{ 0x00, 0x00, 0x00, 0x00, 0x00 }, // sp
{ 0x00, 0x00, 0x2f, 0x00, 0x00 }, // !
{ 0x00, 0x07, 0x00, 0x07, 0x00 }, // "
.......
Stos też chciałbym jakoś zadeklarować...
PS Piszę oczywiście w C
Problem się trochę rozwiązał...wykorzystuje całą dostępną pamięć SRAM i jeszcze trochę
static const byte FontLookup [][5] =
{
{ 0x00, 0x00, 0x00, 0x00, 0x00 }, // sp
{ 0x00, 0x00, 0x2f, 0x00, 0x00 }, // !
{ 0x00, 0x07, 0x00, 0x07, 0x00 }, // "
.......
Stos też chciałbym jakoś zadeklarować...