roboforum.ru

Технический форум по робототехнике.

МикроКонтроллер AVR начинающим - общие вопросы

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение TrashVigor » 01 ноя 2008, 01:05

Где то нашел что Proteus 6. 49 не моделирует захват. И остальные версии походу дела тоже. Засада млин!
GIRUGAMESH!
Аватара пользователя
TrashVigor
 
Сообщения: 134
Зарегистрирован: 11 июл 2008, 22:43
Откуда: Воронежск
прог. языки: С, Delphi, Asm

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение Сергей » 01 ноя 2008, 10:39

Пробуй 7.2 SP6 и откуда ты узнал что он не моделирует захват? Просто я лично не моделировал, не знаю.
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение avr123.nm.ru » 01 ноя 2008, 10:58

TrashVigor писал(а):Где то нашел что Proteus 6. 49 не моделирует захват. И остальные версии походу дела тоже. Засада млин!

Ты метод дедукции применил ?
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение TrashVigor » 01 ноя 2008, 13:26

Сергей писал(а):Пробуй 7.2 SP6 и откуда ты узнал что он не моделирует захват? Просто я лично не моделировал, не знаю.

На каком то форуме. Там 3 потвердили. У меня 7.2 пробовал Там прерывания по захвату не происходит. Может делаю че не так. :crazy:
avr123.nm.ru писал(а):Ты метод дедукции применил ?

Седня на железе попробую.
GIRUGAMESH!
Аватара пользователя
TrashVigor
 
Сообщения: 134
Зарегистрирован: 11 июл 2008, 22:43
Откуда: Воронежск
прог. языки: С, Delphi, Asm

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение TrashVigor » 02 ноя 2008, 00:24

Сергей писал(а):Пробуй 7.2 SP6 и откуда ты узнал что он не моделирует захват? Просто я лично не моделировал, не знаю.

Дык помодель узнай. Там же всего 10 минут мозги напрячь, а то уже 4 день колбашу эту тему :friends:
GIRUGAMESH!
Аватара пользователя
TrashVigor
 
Сообщения: 134
Зарегистрирован: 11 июл 2008, 22:43
Откуда: Воронежск
прог. языки: С, Delphi, Asm

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение Сергей » 02 ноя 2008, 00:27

Какой захват то? По совпадению таймера? Внешние прерывания? Это работает. Захват по нарастающему импульсу не делал
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение TrashVigor » 02 ноя 2008, 00:39

Можешь пример выложить 100% работающем в протеусе? Прерывания по захвату или external Interrupts. Любой работающий с внешними прерываниями в протеусе.
GIRUGAMESH!
Аватара пользователя
TrashVigor
 
Сообщения: 134
Зарегистрирован: 11 июл 2008, 22:43
Откуда: Воронежск
прог. языки: С, Delphi, Asm

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение Сергей » 02 ноя 2008, 00:54

Блин, мог хотябы один раз воспользоваца поиском! robowiki

Добавлено спустя 3 минуты 43 секунды:
Чото не понял как вставлять ссылки правильно с ВиКи.
Вот код короче
Код: Выделить всёРазвернуть
#include <avr/io.h>
ISR( INT0_vect )
{
   PORTD |= ( 1 << PD4 );
}

ISR( INT1_vect )
{
   PORTD &=~( 1 << PD4 );
}

int main( void )
{
   DDRD &=~ ( 1 << PD2 ) | ( 1 << PD3 );
   PORTD |= ( 1 << PD2 ) | ( 1 << PD3 ) | ( 1 << PD4 );

   DDRD |= ( 1 << PD4 );

   MCUCR = 0;
   GICR |= ( 1 << INT0 ) | ( 1 << INT1 );

   sei();

   while( 1 );

   return 0;
}
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение TrashVigor » 02 ноя 2008, 19:41

Спасибо.

У кого это работает. У меня протеус выдает перегруз проца. http://narod.ru/disk/3547333000/servo2.rar.html

avr123 - у меня 62 % загрузка проца. Это от ПК зависит. Перегруз не страшен - просто не в реальном времени симуляция происходит.

Сергей 02 ноя 2008 18:48 Вс файл архива можно прикреплять к сообщению, так будет удобнее.
GIRUGAMESH!
Аватара пользователя
TrashVigor
 
Сообщения: 134
Зарегистрирован: 11 июл 2008, 22:43
Откуда: Воронежск
прог. языки: С, Delphi, Asm

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение Nick13 » 23 ноя 2008, 02:48

Здравствуйте. Я пытаюсь делать упражнения по курсу AVR. Но когда я компилирую проект в CVAVR у меня не создается файл с расширением _.с. Соответственно не могу запустить проект в VMLAB. Подскажите, пожалуйста, как это исправить. Вроде делаю все как в руководстве.
Nick13
 
Сообщения: 7
Зарегистрирован: 23 ноя 2008, 02:33

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение avr123.nm.ru » 23 ноя 2008, 11:38

Возможно вы используете CVAVR 2 (второе поколение компилятора) а курс писался на CVAVR ( например CVAVR 1.29.5 - можно его скачать в курсе), а можно подправить названия в файле проекта VMLAB на те которые CVAVR 2 дает.

в CVAVR 2 имя файла исходного кода на Си не изменяется. А файл прошивки .hex и файл с отладочной
информацией .cof получают имя как у файла проекта CVAVR 2 .prj

Для отладки по исходному коду на Си в симуляторах нужно использовать файл с названием:
имя_вашего_файла_проекта_CVAVR2.cof
а прошивка для МК будет назыаться:
имя_вашего_файла_проекта_CVAVR2.hex

=========

Если проект был создан мастером кода CVAVR 2 то в папке проекта появляется несколько новых папок. В папке Exe создается прошивка для МК - имя_вашего_файла_проекта_CVAVR2.hex
В папке List появляются файлы программы на ассемблере .asm и файл листинга .lst
Другие 2 папки Linker и Obj "чайнику" мало интересны.

Но для VMLAB нужно что бы прошивка была в папке проекта - поэтому в настройе проекта в CVAVR 2 - меню "Configure Project" нужно в ярлыке "Output Directories" убрать Exe и нажать "ОК" - теперь прошивка .hex будет в папке поекта.

Вот пример для заглавной страницы курса под копиляторы CVAVR и CVAVR2
Вложения
z8pwm_2.rar
(60.96 КиБ) Скачиваний: 14
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение Nick13 » 23 ноя 2008, 14:46

Установил CVAVR 1.25.9., все заработало. Спасибо огромное.
Nick13
 
Сообщения: 7
Зарегистрирован: 23 ноя 2008, 02:33

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение Master » 26 ноя 2008, 21:45

Блин я в шоке, удалил из прошивки ваще строчку OCR1B а протеус все равно симулирует как-будто у меня есть ШИМ и управлять я им могу :o, хотя этот регистр у меня в прошивке встречается тока 1 раз при инициализации МК OCR1H=0x00 и OCR1L=0x00

Походу это последний протеус кривой. На работе на старой версии все намана.

< avr123 > рекомендую архив прикладывать с проектом.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение Nick13 » 30 ноя 2008, 13:39

Подскажите, пожалуйста, как в VMLAB рисовать электрические схемы. В какой вкладке находится редактор (если он есть).
Nick13
 
Сообщения: 7
Зарегистрирован: 23 ноя 2008, 02:33

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение avr123.nm.ru » 30 ноя 2008, 22:46

в VMLAB схемы описываются текстом - примеры в упражнении курса - http://avr123.nm.ru/z3.htm "Симуляция МК в VMLAB"

======================
Курс то ЖИВ ! курилка ... 2008-12-01

Изображение
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Пред.След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19