Atmel Snudio 7.2

Обсуждаем контроллеры компании Atmel.
Ответить
aleksey chilov
Нашел транзистор. Понюхал.
Сообщения: 167
Зарегистрирован: Вс мар 27, 2022 09:38:17

Atmel Snudio 7.2

Сообщение aleksey chilov »

Добрый день!

В среде "Atmel Studio 7.2" набераю код.
Получилось несколько файлов.
В одной паре "* С и .h" например некая библиотека,
в другой паре ещё что-то... Так вот понадобилось выводить
"Кириллицу" на Китайский " 1602 " и пришлось состряпать
функцию которая будет работать с массивом и CGRAM но не суть...
Суть в том что эта функция находится в одной паре мне её нужно
вызвать из другой пары, но тогда у меня массив в её аргументе
куда я его перередаю подсвечивается КРАСНЫМ и прилетает ошибка
типа не задекларирован массив функции...
Не хочется перетаскивать всё в ту пару откуда её " зову " лишняя заморочка.
Вот может кто знает вдруг есть какая небудь директива чтоб все переменные и массивы
были видны из любой точки проекта????
Естественно хеддеры вначале уже подключены.
Реклама
codenamehawk
Вымогатель припоя
Сообщения: 528
Зарегистрирован: Вт фев 09, 2010 17:52:26

Re: Atmel Snudio 7.2

Сообщение codenamehawk »

Реклама
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Atmel Snudio 7.2

Сообщение Martian »

Вообще-то, во всех книжках область видимости переменных описывается практически сразу. Например, во втором издании "Программирование на C" авторов Керниган и Ритчи - на странице 44. Если заниматься программированием без и до чтения этой книги, то имеет смысл попросить администраторов создать раздел на форуме с названием "Вопросы от aleksey chilov"
codenamehawk
Вымогатель припоя
Сообщения: 528
Зарегистрирован: Вт фев 09, 2010 17:52:26

Re: Atmel Snudio 7.2

Сообщение codenamehawk »

Если переменную будите использовать больше чем в двух местах, то проще создать файл нп. hardware.h
и вставить туда ссылки на объявления переменных и функций.

Код: Выделить всё

#ifndef HARDWARE_H_INCLUDED
#define HARDWARE_H_INCLUDED

extern  uint8_t     error; //Dla hranenija nomera oshibki

// Initializacija zeleza
extern void init_hardware(void);

#endif // HARDWARE_H_INCLUDED
В файлах просто делаете

Код: Выделить всё

#include "hardware.h"
Для чего нужны #ifndef #define #endif, думаю разберетесь сами.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
DetSimen
Родился
Сообщения: 9
Зарегистрирован: Пн окт 07, 2019 10:14:37
Откуда: СФО, уездный город Н-ск

Re: Atmel Snudio 7.2

Сообщение DetSimen »

21й век на дворе

Код: Выделить всё

#pragma once

extern  uint8_t     error; //Dla hranenija nomera oshibki

// Initializacija zeleza
extern void init_hardware(void);

Праграмный кот. Хожу по цыкалу кругом.
Реклама
Martian
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32
Контактная информация:

Re: Atmel Snudio 7.2

Сообщение Martian »

#pragma once не является стандартом даже в 21 веке. Кроме того, использование стандартного метода дает возможность управляемого, селективного подключения
Реклама
Ответить

Вернуться в «AVR»