Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 28 mar 2024, o 12:31


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
Autor Wiadomość
PostNapisane: 17 lis 2017, o 19:53 
Offline
Użytkownik

Dołączył(a): 06 maja 2014
Posty: 415
Lokalizacja: Kraków
Pomógł: 26

Hej,

Mam problem z nadpisującymi się zmiennymi pomimo tego, że nie wykonuję na nich operacji.

Ale po kolei:

Mikrokontroler: EFM8BB10F8G, czyli rdzeń 8051 "na sterydach"
Język programowania: C
Kompilator: Keil 8051 v9.53

Objawy: Tworzę zmienne, przypisuję im jakieś wartości. Po pewnym czasie wartości zmiennych ulegają zmianie pomimo tego, że w kodzie nie wykonuję na nich operacji.

Przypuszczenia:
Mapa pamięci RAM mojego mikrokontrolera wygląda następująco:
Obrazek
W trakcie debugowania zauważyłem, że moje zmienne są alokowane w pamięci od adresu 0x00, czyli także w miejscu rejestrów roboczych mikrokontrolera (4 banki R0-R7).
Przypuszczam, że w trakcie wykonywania innych fragmentów kodu procek korzysta właśnie z tych rejestrów i nadpisuje zmienne.


Jak sobie z tym poradzić?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 lis 2017, o 21:23 
Offline
Użytkownik

Dołączył(a): 25 lip 2013
Posty: 2561
Pomógł: 126

Wklej kod, bo nie ma tu z nami wróżbity Macieja ;)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO