Перейти к содержанию
    

Проблема с глобальными переменными в mplab

Здравствуйте.

Начал использовать Mplab и столкнулся с непонятным поведением программы. 

Переменную "bFlagDataReady" инициализировал в файле tca0.c. Там же по прерыванию изменяю ее значение: bFlagDataReady = true. 

Согласно отладчику, bFlagDataReady в прерывании выставляется как нужно, но в main.c условие почему то не срабатывает.

Хотя согласно отладчику, все выставлено верно(скриншот прилагаю).

Как по мне элементарная конструкция, которая ранее никогда не вызывала проблем, но здесь прямо ступор.

Возможно другие IDE, которые я использовал ранее, мне прощали какую то мою ошибку.

// В Файле tca0.c определяю переменную. И в прерывании меняю статус на true
bool     bFlagDataReady = false;


// В Файле tca0.h
extern  bool  bFlagDataReady;


// В файле main.c
#include "mcc_generated_files/timer/tca0.h"
  
int main(void)
{
    SYSTEM_Initialize(); 
    
    while(1)
    {     
       if(bFlagDataReady == true)						// Сюда не заходит
       {
           LED.OUTTGL=PIN3_bm;
           //vDataCalculation();
           bFlagDataReady = false;
       }
    }    
}

 

X7tr3NKU4zndsSkDRC3zzsBLIIBHFSE1BS6jrNng

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, Nosaer сказал:

Согласно отладчику, bFlagDataReady в прерывании выставляется как нужно, но в main.c условие почему то не срабатывает.

volatile

 

PS: Чего-ж такого сложного в этом volatile, что начинающшие никак его не освоят???  :unknw:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...