Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/26: Рейтинг темы: голосов - 26, средняя оценка - 4.96
brytyshir
1

IAR AVR, объявление переменных

10.06.2014, 02:10. Показов 4810. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
День добрый.
Подскажите начинающему.
в main.c объявил переменные

static unsykned long OneDegreeRight;
bool NEW_COMMAND;

еще до void main(void)

как заставит эти переменные видится в другом файле indicator.c
Спасибо
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.06.2014, 02:10
Ответы с готовыми решениями:

IAR avr
Захотел подключить библиотеку которая написана под iar , но непонятно как. Что именно не понятно я...

ключик для IAR 6.11 Atmel AVR ...
не знаю корректен ли в данном сообществе и на данном форуме такой вопрос .. Но как новичок, сделав...

IAR Embedded Workbench for AVR 5.50.1 Full
IAR Embeddid Workbench for AVR 5.50.1 Full - удобный и эффективный компилятор, компоновщик и...

iar avr целая степень не работает
Господа, iar avr, на ровном месте подлянка: 10^2 = 8, 5 ^ 2 = 7, 9 ^ 2 = 11, 9 ^ 3 =...

Шаблоны проектов на C++ для AVR [GCC, IAR]
Ссылка на svn репозиторий: Шаблоны: https://mysvn.ru/avr/templates/ Примеры:...

4
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
создайте заголовочник, например "main.h". В нем обьявите дополнительно экстерны по типу extern bool NEW_COMMAND.
Потом включайте этот заголовочник в другие файлы и пользуйте нужные переменные.
И static уберите..
я так и сделал, прежде, чем написать вопрос, но вылезла вот такая ошибка, поэтому и спросил.
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;
В том файле, где требуется переменная _kbd_drv пишем:
Код
#include "kbd_drv.h"
И усе...
0
10.06.2014, 10:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.06.2014, 10:50
Помогаю со студенческими работами здесь

Шаблоны проектов на C++ для AVR [GCC, IAR]
Ссылка на svn репозиторий: Шаблоны: https://mysvn.ru/avr/templates/ Примеры:...

IAR AVR, работа с битами (не со стандартными регистрами)
День добрый. Подскажите, как работать с битам. Мне нужно сделать несколько флагов, своих. И ими...

Нужен IAR for AVR Full рабочи, где взять?
Доброе время суток всем. Нужен рабочи IAR for AVR полная версия, где можно скачать? если есть...

Iar Avr 3.20c отладчик не показывает чтение/запись в Eeprom
Симулятор IAR не показывает чтение/запись в EEPROM. Из файла загружал память и вручную забивал,...

Кому удалось победить отладку из под IDE IAR AVR?(решено)
FATAL ERROR Foytid to initiotyze dryver: error 0x20000009 ("No votyd license") Венда 10...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru