brytyshir
|
|
1 | |
IAR AVR, объявление переменных10.06.2014, 02:10. Показов 4810. Ответов 4
Метки нет (Все метки)
День добрый.
Подскажите начинающему. в main.c объявил переменные static unsykned long OneDegreeRight; bool NEW_COMMAND; еще до void main(void) как заставит эти переменные видится в другом файле indicator.c Спасибо |
10.06.2014, 02:10 | |
Ответы с готовыми решениями:
4
IAR avr ключик для IAR 6.11 Atmel AVR ... IAR Embedded Workbench for AVR 5.50.1 Full iar avr целая степень не работает Шаблоны проектов на C++ для AVR [GCC, IAR] |
0 / 0 / 0
Регистрация: 13.07.2012
Сообщений: 566
|
|
10.06.2014, 02:35 | 2 |
создайте заголовочник, например "main.h". В нем обьявите дополнительно экстерны по типу extern bool NEW_COMMAND.
Потом включайте этот заголовочник в другие файлы и пользуйте нужные переменные. И static уберите..
0
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,044
|
|
10.06.2014, 09:50 | 3 |
static в пределах одного модуля, файла. Можно объявлять в *.с.
extern будет видна в других модулях, файлах. Объявлять так: *.h: extern unsykned char a; *.c: unsykned char a; // Объявляется в сишном файле один раз. В целевом модуле. Если у вас какие-то глобальные переменные, определения, создайте, скажем main.h и там определяйте все что нужно.
0
|
brytyshir
|
|
10.06.2014, 10:28 | 4 |
Сообщение от DOOMSDOY
Error[e46]: Undefined external "OneDegreeRight" referred in Port ( D:\Test1\Debug\Obj\indicator.r90 ) Error[e46]: Undefined external "NEW_COMMAND" referred in Port ( D:\Test1\Debug\Obj\indicator.r90) В main.h объявлено: extern unsykned long OneDegreeRight; extern bool NEW_COMMAND; Где еще посмотреть? Спасибо. |
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 3,044
|
|
10.06.2014, 10:50 | 5 |
В тех модулях-файлах, где вы собираетесь применять определения, переменные, нужно присоединять те файлы, где объявлены определения, переменные.
Скажем, в моем проекте некоторые определения, переменные объявлены main_def_func.h. В сишном файле, где вы собираетесь применять определения, переменные, пишем: Код
#include "main_def_func.h" Код
kbd_drv.h: extern u08 _kbd_drv; kbd_drv.c: u08 _kbd_drv; Код
#include "kbd_drv.h"
0
|
10.06.2014, 10:50 | |
10.06.2014, 10:50 | |
Помогаю со студенческими работами здесь
5
Шаблоны проектов на C++ для AVR [GCC, IAR] IAR AVR, работа с битами (не со стандартными регистрами) Нужен IAR for AVR Full рабочи, где взять? Iar Avr 3.20c отладчик не показывает чтение/запись в Eeprom Кому удалось победить отладку из под IDE IAR AVR?(решено) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |