Deklarace proměnných v Atmel Studio
Napsal: 06 dub 2015, 23:37
Ahoj, jsem drobet zmatený, jak Atmel studio pracuje s proměnnými. Potřeboval jsem deklarovat volatilní proměnné ve funkci. Udělal jsem to následovně:
char funkce1(parametry)
{
volatile char var1, var2;
char var3, var4;
kód funkce
return;
}
přičemž var1, var2 se chovají jako obyčejné lokální. Při zavolání funkce mají nulové hodnoty a nikoli hodnoty, které měly při předchozím ukončení "funkce1". Proměnné var3, var4 - tady jsem neměl ambice aby si pamatovaly hodnotu i po opuštění funkce. Stačilo by mě kdyby si pamatovaly hodnotu alespoň mezi první a poslední {}. Leč ani to se nestalo. Někdy v průběhu vykonávání kódu funkce1 také změní hodnotu. Jediné, co mě napadá, mám povolené přerušení. Jestli není možné, že při odskoku do přerušovací rutiny a návratu se nakopne zásobník?
Díky za radu
char funkce1(parametry)
{
volatile char var1, var2;
char var3, var4;
kód funkce
return;
}
přičemž var1, var2 se chovají jako obyčejné lokální. Při zavolání funkce mají nulové hodnoty a nikoli hodnoty, které měly při předchozím ukončení "funkce1". Proměnné var3, var4 - tady jsem neměl ambice aby si pamatovaly hodnotu i po opuštění funkce. Stačilo by mě kdyby si pamatovaly hodnotu alespoň mezi první a poslední {}. Leč ani to se nestalo. Někdy v průběhu vykonávání kódu funkce1 také změní hodnotu. Jediné, co mě napadá, mám povolené přerušení. Jestli není možné, že při odskoku do přerušovací rutiny a návratu se nakopne zásobník?
Díky za radu