Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> AVR Studio отказывается работать с регистрами XMEG 
V
    Опции темы
Курсант
Дата 23.6.2011, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 338
Регистрация: 21.2.2009
Где: Балашиха или Воро неж

Репутация: нет
Всего: 4



Всем здравствуйте smile
Почитал Даташит и Мануалы для XMEGA 128 A3. Пытаюсь написать программу, однако при попытке оперировать с регистрами и их битовыми полями, AVR Studio говорит мне, что эти переменные не объявлены. Например, при выполнении такого кода:
Код

#include <avr/io.h>
#include <math.h>

int main(void)
{
    CH0.CTRL = _BV(START);
}

Получаю ответ, что
Код

../Delte.c:6: error: 'CH0' undeclared (first use in this function)
../Delte.c:6: error: (Each undeclared identifier is reported only once
../Delte.c:6: error: for each function it appears in.)
../Delte.c:6: error: 'START' undeclared (first use in this function)

Хотя регистр CH0.CTRL и битовое поле START этого регистра в окне I/O View присутствуют. Вопрос - что с этим делать?...
PM ICQ Skype   Вверх
Mazzi
Дата 24.6.2011, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Правильный
**


Профиль
Группа: Комодератор
Сообщений: 825
Регистрация: 3.4.2003

Репутация: 9
Всего: 21



Объявить нужно самостоятельно. В начале файла пишется что-то вроде вот этого.
Код

#define PIND    _SFR_IO8(0x10)
#define DDRD    _SFR_IO8(0x11)
#define PORTD    _SFR_IO8(0x12)


 В этом примере показано как для компилятора GCC объявляются макросы для объявления имён для порта D при использовании Atmega8.
Файл полностью прилагаю.

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  iomx8.h 15,90 Kb


--------------------
Мне нужны помощники.
PM MAIL WWW   Вверх
Курсант
Дата 24.6.2011, 11:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 338
Регистрация: 21.2.2009
Где: Балашиха или Воро неж

Репутация: нет
Всего: 4



Мда, спасибо большое... Так и сделаю... Долго и упорно ковырял файл iox128A3.h, однако не получается прописать его в #include...
Код

#include <avr/iox128A3.h>
#include <math.h>

int main () {
   EVSYS_t;
}

На это он отвечает, что 
Код

 #error "Include <avr/io.h> instead of this file."

А вот, если подключать и iox128A3.h, и io.h, то компилятор ругается на
Код

#error "Attempt to include more than one <avr/ioXXX.h> file."

Хотя именно в iox128A3.h прописаны строки с #define, подобные тем, что Вы привели... Попробую сделать все вручную... Хотя хотелось бы понять, почему? Кривая реализация заголовочных файлов?...

Добавлено через 14 минут и 52 секунды
Работает... smile Спасибо smile
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0733 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.