CodeVision AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Назим
Открыл глаза
Сообщения: 48
Зарегистрирован: Пт окт 21, 2011 14:06:28

Re: CodeVision AVR в вопросах и ответах

Сообщение Назим »

Я только начинаю учиться. Хотел создать простой hex файл, а потом изменить его скачанным файлом и загрузить в МК.

написал вот так:
#include <ATtiny2313a.h>
void main(void)
{
DDRD = 0b11111;
PORTD =0b00001;
}


Код Вижн 2,05 выдаёт ошибку:

Error: C:\ .....Мои документы\Tiny\Termometr.c(2): can't open #include file: ATtiny2313a.h
Error: C:\......Мои документы\Tiny\Termometr.c(6): undefined symbol 'PORTD'
Как исправить?
Аватара пользователя
Apparatchik
Держит паяльник хвостом
Сообщения: 908
Зарегистрирован: Вс май 23, 2010 13:55:42
Откуда: Украина, Александрия

Re: CodeVision AVR в вопросах и ответах

Сообщение Apparatchik »

Назим писал(а):Я только начинаю учиться. Хотел создать простой hex файл, а потом изменить его скачанным файлом и загрузить в МК.

написал вот так:
#include <ATtiny2313a.h>
void main(void)
{
DDRD = 0b11111;
PORTD =0b00001;
}


Код Вижн 2,05 выдаёт ошибку:

Error: C:\ .....Мои документы\Tiny\Termometr.c(2): can't open #include file: ATtiny2313a.h
Error: C:\......Мои документы\Tiny\Termometr.c(6): undefined symbol 'PORTD'
Как исправить?

Вместо ATtiny2313a.h нада tiny2313.h

А зачем такие сложности? нельзя ли просто залить скачаный файл?
«И всё-таки она вертится!»
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение vitalik_1984 »

Назим писал(а):написал вот так:
#include <ATtiny2313a.h>


Код Вижн 2,05 выдаёт ошибку:

Error: C:\ .....Мои документы\Tiny\Termometr.c(2): can't open #include file: ATtiny2313a.h
Error: C:\......Мои документы\Tiny\Termometr.c(6): undefined symbol 'PORTD'
Как исправить?

это из какого компилятора пример? во всех разные пути заголовочных файлов и названия.
вторая ошибка вытекает из первой.

надо #include <tiny2313a.h>
В поисках истины человек развивается.
Назим
Открыл глаза
Сообщения: 48
Зарегистрирован: Пт окт 21, 2011 14:06:28

Re: CodeVision AVR в вопросах и ответах

Сообщение Назим »

vitalik_1984 писал(а):надо #include <tiny2313a.h>


написал так - ошибка пропала.
Спасибо.
Назим
Открыл глаза
Сообщения: 48
Зарегистрирован: Пт окт 21, 2011 14:06:28

Re: CodeVision AVR в вопросах и ответах

Сообщение Назим »

Apparatchik писал(а):нельзя ли просто залить скачаный файл?

А как это сделать?

изменил свой hex файл на скачанный
Последний раз редактировалось Назим Сб янв 21, 2012 00:18:36, всего редактировалось 2 раза.
Аватара пользователя
vitalik_1984
Поставщик валерьянки для Кота
Сообщения: 2482
Зарегистрирован: Пт авг 27, 2010 05:57:06
Откуда: Тюмень
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение vitalik_1984 »

Назим писал(а):
Apparatchik писал(а):нельзя ли просто залить скачаный файл?

А как это сделать?
Как исправить?

вы вообще понимаете разницу в форматах .h и .hex?
hex это тот файл,который нужно выбирать при программировании
вы же привели текст из того файла h что включали в проект строкой #include <>
вообще чтобы подключить исходник к проекту нужно выбрать Project->Configure там выбрать input files там кнопка add добавляем файлы с расширением .c
пример в разделе справки CodeVision AVR :Adding or Removing a File from the Project
добавьте ваш файл термометр и компилируйте.Hex можно заливать.лежит он в той же папке где проект в подпапке exe
Вообще откуда пример брали?
и что хотите сделать: применить конструкцию или поменять?
файл .hex можно залить без изменений прям в контроллер.И вообще вам бы почитать для начинающих литературу, а то форума не хватит объяснять.

Ps Назим,отредактируйте свое предыдущее сообщение и удалите текст между

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

[code][/code]
В поисках истины человек развивается.
Назим
Открыл глаза
Сообщения: 48
Зарегистрирован: Пт окт 21, 2011 14:06:28

Re: CodeVision AVR в вопросах и ответах

Сообщение Назим »

Пример взял отсюда: http://radiokot.ru/circuit/digital/home/26/

Разницу между h и Нех пока не понимаю.
Хотел сделать цифровой термометр.
Я создал проект, а потом из папки ехе взял Нех файл, открыл его в блокноте, стёр и вставил туда скачанный Нех файл.

Как залить в МК смотрел у Кубрикова (сайт Фанат Науки)
Аватара пользователя
Apparatchik
Держит паяльник хвостом
Сообщения: 908
Зарегистрирован: Вс май 23, 2010 13:55:42
Откуда: Украина, Александрия

Re: CodeVision AVR в вопросах и ответах

Сообщение Apparatchik »

Назим писал(а):Пример взял отсюда: http://radiokot.ru/circuit/digital/home/26/

Разницу между h и Нех пока не понимаю.
Хотел сделать цифровой термометр.
Я создал проект, а потом из папки ехе взял Нех файл, открыл его в блокноте, стёр и вставил туда скачанный Нех файл.

Как залить в МК смотрел у Кубрикова (сайт Фанат Науки)

Создавать ниче ненужно, там выложена уже готовая пршивка, её нужно только зашить в мк!
«И всё-таки она вертится!»
Аватара пользователя
Volgol_555
Потрогал лапой паяльник
Сообщения: 301
Зарегистрирован: Пт сен 23, 2011 13:13:51
Откуда: Минск
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение Volgol_555 »

Подскажите пожалуйста, как реализовать задержку для какого-то конкретного действия. К примеру, мне нужно, чтобы МК смотрел порт через каждые 30 мс. Команда delay_ms(30) не подходит в силу того, что она делает задержку всей программы, а не конкретного действия.
Какие есть идеи?
Самое гениальное - всегда самое простое
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Re: CodeVision AVR в вопросах и ответах

Сообщение *Trigger* »

Прерывание по таймеру...
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Аватара пользователя
Volgol_555
Потрогал лапой паяльник
Сообщения: 301
Зарегистрирован: Пт сен 23, 2011 13:13:51
Откуда: Минск
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение Volgol_555 »

Вариант хороший. Но иногда бывают случаи, когда все таймеры задействованы...Как быть тогда? Может есть какие-то программные, а не аппаратные решения?
Самое гениальное - всегда самое простое
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Re: CodeVision AVR в вопросах и ответах

Сообщение *Trigger* »

А если сделать прерывание по изменению на ноге МК и подцепить на эту ногу генератор на нужную частоту? Это если аппаратно.
Программно можно попробовать в одном прерывании (например, динамическая индикация) выполнять опрос кнопок и, собственно, индикацию.
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Аватара пользователя
Apparatchik
Держит паяльник хвостом
Сообщения: 908
Зарегистрирован: Вс май 23, 2010 13:55:42
Откуда: Украина, Александрия

Re: CodeVision AVR в вопросах и ответах

Сообщение Apparatchik »

Volgol_555 писал(а):Вариант хороший. Но иногда бывают случаи, когда все таймеры задействованы...Как быть тогда? Может есть какие-то программные, а не аппаратные решения?

Можно использовать уже задействованый таймер, например который отвечает за индикацию, отщитать нужное значение не составляет труда.
«И всё-таки она вертится!»
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

Re: CodeVision AVR в вопросах и ответах

Сообщение *Trigger* »

Я это уже предложил.
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Аватара пользователя
Apparatchik
Держит паяльник хвостом
Сообщения: 908
Зарегистрирован: Вс май 23, 2010 13:55:42
Откуда: Украина, Александрия

Re: CodeVision AVR в вопросах и ответах

Сообщение Apparatchik »

*Trigger* писал(а):Я это уже предложил.

Увидел уже когда отправил :)
«И всё-таки она вертится!»
Аватара пользователя
Volgol_555
Потрогал лапой паяльник
Сообщения: 301
Зарегистрирован: Пт сен 23, 2011 13:13:51
Откуда: Минск
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение Volgol_555 »

Спасибо за размышления) Я тоже так думал) Просто возникла мысль: вдруг я не знаю функции задержки типа delay но для какой-то конкретной части программы).
Тогда ещё вопрос: как сделать параллельное выполнение команд, а не последовательное. К примеру, мне нужно выводить на дисплей часики - в частности секунды, но помимо этого выполнять ещё и действия, которые делают временную задержку больше 1 секунды (опрос 2 датчиков DS1820 порой обходится больше 1 сек). В итоге получается некоторое подвисание.
Здесь сделать все через прерывание не получается в силу того, что инициализация прерываний производится гораздо раньше, чем инициализация самого дисплея!
Самое гениальное - всегда самое простое
Аватара пользователя
Apparatchik
Держит паяльник хвостом
Сообщения: 908
Зарегистрирован: Вс май 23, 2010 13:55:42
Откуда: Украина, Александрия

Re: CodeVision AVR в вопросах и ответах

Сообщение Apparatchik »

Volgol_555 писал(а):Спасибо за размышления) Я тоже так думал) Просто возникла мысль: вдруг я не знаю функции задержки типа delay но для какой-то конкретной части программы).
Тогда ещё вопрос: как сделать параллельное выполнение команд, а не последовательное. К примеру, мне нужно выводить на дисплей часики - в частности секунды, но помимо этого выполнять ещё и действия, которые делают временную задержку больше 1 секунды (опрос 2 датчиков DS1820 порой обходится больше 1 сек). В итоге получается некоторое подвисание.
Здесь сделать все через прерывание не получается в силу того, что инициализация прерываний производится гораздо раньше, чем инициализация самого дисплея!

В прерываниях засиживатся нельзя! там нужно только выставлять "флаги", а уже в основном цикле проверять флаги и соответственно что-то делать.
«И всё-таки она вертится!»
Аватара пользователя
miharus
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Пт фев 18, 2011 12:04:23

CodeVision AVR в вопросах и ответах

Сообщение miharus »

У меня такое дело. Я пытаюсь заставить тиньку перейти в спящий режим. В Code Vision использую вот что:

#include<sleep.h>
...
...
sleep_enable();
powerdown();
...
после этого я ожидаю что микроконтроллер перейдет в спящий режим, однако он продолжает работать. Что я делаю не правильно?
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: CodeVision AVR в вопросах и ответах

Сообщение pyzhman »

Как вы определяете, что он работает не так, как надо? (Если он спит, то это видимо тоже работа.)
Docendo discimus
Аватара пользователя
miharus
Первый раз сказал Мяу!
Сообщения: 37
Зарегистрирован: Пт фев 18, 2011 12:04:23

Re: CodeVision AVR в вопросах и ответах

Сообщение miharus »

На порту висят светодиоды. Я так понял что при powerdown они должны выключиться.
Ответить

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