Страница 174 из 421
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт янв 20, 2012 22:05:37
Назим
Я только начинаю учиться. Хотел создать простой 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'
Как исправить?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт янв 20, 2012 22:11:41
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
А зачем такие сложности? нельзя ли просто залить скачаный файл?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт янв 20, 2012 22:12:54
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>
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт янв 20, 2012 22:16:45
Назим
vitalik_1984 писал(а):надо #include <tiny2313a.h>
написал так - ошибка пропала.
Спасибо.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт янв 20, 2012 22:33:39
Назим
Apparatchik писал(а):
нельзя ли просто залить скачаный файл?
А как это сделать?
изменил свой hex файл на скачанный
Re: CodeVision AVR в вопросах и ответах
Добавлено: Пт янв 20, 2012 23:05:25
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]
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб янв 21, 2012 00:09:27
Назим
Пример взял отсюда:
http://radiokot.ru/circuit/digital/home/26/
Разницу между h и Нех пока не понимаю.
Хотел сделать цифровой термометр.
Я создал проект, а потом из папки ехе взял Нех файл, открыл его в блокноте, стёр и вставил туда скачанный Нех файл.
Как залить в МК смотрел у Кубрикова (сайт Фанат Науки)
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб янв 21, 2012 00:15:06
Apparatchik
Назим писал(а):Пример взял отсюда:
http://radiokot.ru/circuit/digital/home/26/
Разницу между h и Нех пока не понимаю.
Хотел сделать цифровой термометр.
Я создал проект, а потом из папки ехе взял Нех файл, открыл его в блокноте, стёр и вставил туда скачанный Нех файл.
Как залить в МК смотрел у Кубрикова (сайт Фанат Науки)
Создавать ниче ненужно, там выложена уже готовая пршивка, её нужно только зашить в мк!
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб янв 21, 2012 22:50:53
Volgol_555
Подскажите пожалуйста, как реализовать задержку для какого-то конкретного действия. К примеру, мне нужно, чтобы МК смотрел порт через каждые 30 мс. Команда delay_ms(30) не подходит в силу того, что она делает задержку всей программы, а не конкретного действия.
Какие есть идеи?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб янв 21, 2012 22:53:10
*Trigger*
Прерывание по таймеру...
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб янв 21, 2012 22:55:32
Volgol_555
Вариант хороший. Но иногда бывают случаи, когда все таймеры задействованы...Как быть тогда? Может есть какие-то программные, а не аппаратные решения?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб янв 21, 2012 23:02:03
*Trigger*
А если сделать прерывание по изменению на ноге МК и подцепить на эту ногу генератор на нужную частоту? Это если аппаратно.
Программно можно попробовать в одном прерывании (например, динамическая индикация) выполнять опрос кнопок и, собственно, индикацию.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб янв 21, 2012 23:03:11
Apparatchik
Volgol_555 писал(а):Вариант хороший. Но иногда бывают случаи, когда все таймеры задействованы...Как быть тогда? Может есть какие-то программные, а не аппаратные решения?
Можно использовать уже задействованый таймер, например который отвечает за индикацию, отщитать нужное значение не составляет труда.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб янв 21, 2012 23:03:57
*Trigger*
Я это уже предложил.
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб янв 21, 2012 23:07:18
Apparatchik
*Trigger* писал(а):Я это уже предложил.
Увидел уже когда отправил

Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб янв 21, 2012 23:36:34
Volgol_555
Спасибо за размышления) Я тоже так думал) Просто возникла мысль: вдруг я не знаю функции задержки типа delay но для какой-то конкретной части программы).
Тогда ещё вопрос: как сделать параллельное выполнение команд, а не последовательное. К примеру, мне нужно выводить на дисплей часики - в частности секунды, но помимо этого выполнять ещё и действия, которые делают временную задержку больше 1 секунды (опрос 2 датчиков DS1820 порой обходится больше 1 сек). В итоге получается некоторое подвисание.
Здесь сделать все через прерывание не получается в силу того, что инициализация прерываний производится гораздо раньше, чем инициализация самого дисплея!
Re: CodeVision AVR в вопросах и ответах
Добавлено: Сб янв 21, 2012 23:43:27
Apparatchik
Volgol_555 писал(а):Спасибо за размышления) Я тоже так думал) Просто возникла мысль: вдруг я не знаю функции задержки типа delay но для какой-то конкретной части программы).
Тогда ещё вопрос: как сделать параллельное выполнение команд, а не последовательное. К примеру, мне нужно выводить на дисплей часики - в частности секунды, но помимо этого выполнять ещё и действия, которые делают временную задержку больше 1 секунды (опрос 2 датчиков DS1820 порой обходится больше 1 сек). В итоге получается некоторое подвисание.
Здесь сделать все через прерывание не получается в силу того, что инициализация прерываний производится гораздо раньше, чем инициализация самого дисплея!
В прерываниях засиживатся нельзя! там нужно только выставлять "флаги", а уже в основном цикле проверять флаги и соответственно что-то делать.
CodeVision AVR в вопросах и ответах
Добавлено: Вс янв 22, 2012 12:46:11
miharus
У меня такое дело. Я пытаюсь заставить тиньку перейти в спящий режим. В Code Vision использую вот что:
#include<sleep.h>
...
...
sleep_enable();
powerdown();
...
после этого я ожидаю что микроконтроллер перейдет в спящий режим, однако он продолжает работать. Что я делаю не правильно?
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вс янв 22, 2012 12:52:54
pyzhman
Как вы определяете, что он работает не так, как надо? (Если он спит, то это видимо тоже работа.)
Re: CodeVision AVR в вопросах и ответах
Добавлено: Вс янв 22, 2012 15:27:17
miharus
На порту висят светодиоды. Я так понял что при powerdown они должны выключиться.