Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AVR Studio 4.12 +WinAVR(200600421)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Кастусь Рыжов
Помогите, народ! help.gif Что не так сделал?
Пример проги. ATmega16

#include <D:WinAVR/avr/include/avr/io.h>

#include <D:WinAVR/avr/include/avr/eeprom.h>

unsigned int dump;

void main (void)
{

dump = eeprom_read_byte(0x01);

return (1);

}
Зависает AVRStudio после подключения и трансляции eeprom.h. Специально написал прогу, чтобы убедиться, в этом хидере проблема, или я в неправильно определил переменную, или с синтаксис написания команд неправильный? Или надо настроить регистр управления епром? Подскажите. Всем заранее спасибо.
mdmitry
Попробуйте собрать просто make`ом. Включаемые заголовки стандартные и их не надо прописывать полностью, достаточно
#include <io.h>
Для полноты ощущений укажите версию WinAvr и студии.
Кастусь Рыжов
Цитата(mdmitry @ Sep 22 2007, 00:36) *
Попробуйте собрать просто make`ом. Включаемые заголовки стандартные и их не надо прописывать полностью, достаточно
#include <io.h>
Для полноты ощущений укажите версию WinAvr и студии.

Если не прописать путь к хидерам, sad.gif то сообщение- не найден файл... Это для меня пройденный этап.
Прорамма Avr Studio виснет сразу после присоединения eeprom.h и компиляции. При коиляции все виснет. Я пробовал просто присоединить хидер eeprom.h к рабочему проекту, запускаю компиляцию- результат тотже wacko.gif
defunct
Цитата(Кастусь Рыжов @ Sep 22 2007, 01:08) *
Если не прописать путь к хидерам, sad.gif то сообщение- не найден файл...

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

странно, может хидер сам по себе битый.
Я бы посоветовал обновить и студию и WinAvr. (нынче доступны сборка WinAvr 20070525 и студия 4.13 build 525).
Qwertty
Цитата(Кастусь Рыжов @ Sep 22 2007, 00:25) *
Помогите, народ! help.gif Что не так сделал?

У меня на таком же софте Ваша программа откомпилировалась без вылетаний. Хотя в коде ошибок полно - майн объявлена пустышкой, но возвращает значение. А должна иметь тип int.
eeprom_read_byte принимает в качестве параметра указатель, то как Вы ее используете ИМХО некорректно.
Попробуйте:

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

uint8_t EEMEM store = 6;
unsigned int dump;

int main (void)
{
dump = eeprom_read_byte(&store);
return (1);
}
Если все равно вылетет, то попробуйте переустановить WinAvr и студию.
Кастусь Рыжов
Благодарю всех! Пошел пробовать исправить 01.gif
Кастусь Рыжов
<Если все равно вылетет, то попробуйте переустановить WinAvr и студию.>

Спасибо за тестовую прогу. Проверил "студию", виснет . после переустановки "студии"
глюк исчез. Все номально компилит.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.