Просто о внешних переменных

Views: 937


 Часто возникает задача когда необходимо предавать данные между модулями программы. Например, передать данные между файлами, или управлять работой модулей.

Для этого создаем заголовочный файл и описываем наши переменные как внешние. В тех файлах в которых предполагается использовать необходимо включить этот файл и описать эту переменную. Механизм выглядит так:

Задача может быть и такой необходимо управлять работой функций библиотеки из основной программы. Для этого в библиотеки описываем внешнюю переменную в заголовочном файле, в основном файле библиотеки описываем эту переменную “как обычно”.  И необходимо включить эту библиотеку в файл в котором предполагается его использовать.

Еще один вариант, создаем “два файла” описание внешних переменных, в тех “файлах” где надо использовать их надо их включить.


В общем, все так просто…


Это может быть интересно


  • Часы-кухонный таймерЧасы-кухонный таймер
    Views: 2888 Каждая кухня должна иметь кухонный таймер, который позволяет напоминать хозяйке когда проходить определенный промежуток времени. Например, печем пирог, варим яйца… , чтобы не смотреть постоянно на часы, установим таймер и …
  • PIC18 – System ArbitrationPIC18 – System Arbitration
    Views: 735 Системный арбитр. Разрешает доступ к памяти между выборами уровнями системы (т.е. Main, Interrupt Service Routine) и выбором периферийных устройств (т.е. DMA и Scanner) на основе назначенных пользователем приоритетов. Каждый …
  • Audio-bluetooth modules BK8000L (noname)Audio-bluetooth modules BK8000L (noname)
    Views: 842 Еще один вариант, так сказать недоразумения Audio-bluetooth modules BK8000L (noname). Его отличительной маркировкой служат два отверстия в плате и надпись R2. Отличают его от модулей на чипе BK8000L, …
  • Гаджеты для домашней автоматики – Датчик приближенияГаджеты для домашней автоматики – Датчик приближения
    Views: 2160 Управление светодиодным освещением – Датчик приближения. Данный гаджет предназначен для управления внутренним освещением мебели. Датчик позволяет определить закрытие или открытие дверцы или ящика и при этом включать или …
  • Проект с использованием MCC часть 09Проект с использованием MCC часть 09
    Views: 1041   Эта часть будет посвящена созданию практического проекта управления освещение. Тех задание: Два выхода управления ШИМ – светодиодным освещением. Две кнопки управления, каждая кнопка управляет, своим каналом, логика самая …
  • NeoPixel LED and PIC24NeoPixel LED and PIC24
    Views: 752 Популярность однопроводной шины для управления светодиода типа WS2812 не ослабевает, а новые типы светодиодов в корпусах 3,5*3,5мм, 2,0*2,0мм становяться все больше привлекательными. Построение дисплеев для анимации требуют все …
  • LED драйвер TM1639LED драйвер TM1639
    Views: 2467 TМ1639 позволяет работать на матрицу 8*8 или 8 семисегметных индикаторов. Может работать как на индикаторы с общим катодом, но и есть возможность подключать общим анодом. Для управления драйвером …
  • Обновление ESP8266 c ESPFlashDownloadTool_v3.6.3Обновление ESP8266 c ESPFlashDownloadTool_v3.6.3
    Views: 3716 Технология обновления следующая: Загружаем программу со страницы espressif.com. Разархивируем. Где находятся файлы, для прошивки? Заходим в каталоги Подключаем по схеме в статье WiFi ESP8266 (замыкаем BT2, перемычка). Запускаем программу, …
  • Altium Designer – создание рисунков на печатной платеAltium Designer – создание рисунков на печатной плате
    Views: 3533   Для создание рисунков на печатной платы в Altium Designer можно использовать возможность использовать в Altium Designer сторонних скриптов. Мне возможность эта очень понравилась и я решил её расшарить …
  • Интерактивные LedИнтерактивные Led
    Views: 604 Тема проекта   продолжение следует…. Это может быть интересно



 

Поделись этим!

Catcatcat

catcatcat

Development of embedded systems based on Microchip microcontrollers.

Продолжайте читать

НазадДалее