Есть примерно такая функция
Код
uint8_t read_LUN0(uint32_t addr, uint16_t nb_sector, bool trashflag, uint8_t* buffer)
{
..........................
static uint32_t firstuse;
........................
if (firstuse == 0)
{
firstuse++;
asm(" NOP"); <- точка останова
блаблабла
....................................
}
{
..........................
static uint32_t firstuse;
........................
if (firstuse == 0)
{
firstuse++;
asm(" NOP"); <- точка останова
блаблабла
....................................
}
Функция вызывается через прерывания несколько раз. Но каждый раз переменная равна 1
те она обнуляется при вызове функции
Но ведь переменная статическая она должна сохранятся в памяти
или я что-то путаю?