Ukládání mezivýpočtů kontroleru do paměti pro proměnnou
Napsal: 08 zář 2011, 17:46
Nevím jestli je problém v překladači, v mém kódu C nebo v něčem jiném. Vysvětlím problém:
Potřebuju zavolat funkci delka, která dostane jako parametr směrník na pole hodnoty[15]. Ta přepisuje 5. prvek pole hodnoty na hodnotu 0xFF a skončí. Pokud se po zavolání podívám na obsah pole hodnoty jako 5., 11.,12. a 14. prvek jsou hodnoty např. 255, 23792, 482, 1007. tzn. mikrokontroler mi do paměti pro pole cpe svoje hodnoty. Jak se toho mám zbavit?
Používám ATTiny13. Na ATMega16 vše funguje správně.
int i, hodnoty[15];
void delka(int *array)
{
array[4] = 0xFF;
}
void main(void)
{
for(i = 0; i < 15; i++)
{
hodnoty[i] = 0;
}
delka(hodnoty);
}
Potřebuju zavolat funkci delka, která dostane jako parametr směrník na pole hodnoty[15]. Ta přepisuje 5. prvek pole hodnoty na hodnotu 0xFF a skončí. Pokud se po zavolání podívám na obsah pole hodnoty jako 5., 11.,12. a 14. prvek jsou hodnoty např. 255, 23792, 482, 1007. tzn. mikrokontroler mi do paměti pro pole cpe svoje hodnoty. Jak se toho mám zbavit?
int i, hodnoty[15];
void delka(int *array)
{
array[4] = 0xFF;
}
void main(void)
{
for(i = 0; i < 15; i++)
{
hodnoty[i] = 0;
}
delka(hodnoty);
}