Страница 2 из 2
Re: Глюки VMLab 3.14
Добавлено: Вт сен 28, 2010 07:40:02
GP1
юрамеханик
мега16 и мега8 это пожалуй единственные камни которые нормально симулируются в VMLab, значит "дело не в бобине"
Возникает вопрос на чем пишешь? Если асм, выкладывай проект помогу чем смогу, ну а если Си - то пардоньте...
Re: Глюки VMLab 3.14
Добавлено: Вт сен 28, 2010 10:14:33
юрамеханик
GP1 писал(а):юрамеханик
мега16 и мега8 это пожалуй единственные камни которые нормально симулируются в VMLab, значит "дело не в бобине"
Возникает вопрос на чем пишешь? Если асм, выкладывай проект помогу чем смогу, ну а если Си - то пардоньте...
ну может я чего то нипонимаю
прочитайте ссылку которую я кинул в самом первом своем сообщении: у обоих камней невозможно установить некоторые режимы у теймера1 поскольку программа не позволяет изменять 4 бит в регистре TCCR1B, ни ни кодом , ни мышкой в окне регистров
почему то они догадались сделать патч толкьо для меги168 ("mega168b") хотя проблема похоже во всей линейке , там где поменяны название битов в регистрах
попробуйте, если у вас работает то я уж наверно перегрелся
Re: Глюки VMLab 3.14
Добавлено: Вт сен 28, 2010 10:43:26
radio-kot
Надеюсь наступит время когда они и исходник откроют по примеру WinAVR.
Re: Глюки VMLab 3.14
Добавлено: Вт сен 28, 2010 11:53:04
юрамеханик
А есть еще симуляторы на подобие вмлаба которым cof и .с файл скормил и смотри да бегай по коду.
Сраный протеус название регистров толкьо по адресам показывает да и нет возможности менять скорость симуляции по ее ходу

Re: Глюки VMLab 3.14
Добавлено: Вт сен 28, 2010 11:57:04
radio-kot
вы не сраный - это хорошо.
Re: Глюки VMLab 3.14
Добавлено: Вт сен 28, 2010 12:06:51
GP1
юрамеханик писал(а):невозможно установить некоторые режимы у теймера1
ммда, как-то не было нужды использовать режимы из второй половины таблицы списка режимов, действительно WGM13 ни как не устанавливается

Re: Глюки VMLab 3.14
Добавлено: Ср сен 29, 2010 16:05:09
юрамеханик
далее
устанавливаем следующий режим
Код: Выделить всё
OCR1A=2499;
OCR1B=1499;
TCCR1A=0x00;
TCCR1B=0x0A;
TIMSK=0xD8;
в итогде по вмлабу имеем прерывание только по B (и сброс счетчика по нему же для TCNT1 = 2499)
в протеусе я вижу оба прерывания (в тело прерываний засунул "переворачивание" значений двух портов) но они оба выполняются по TCNT1 = 2499 и практически синхронно
причем при паузе я не могу поставить точку прерывания перед каким либо выражением в коде
в реалном железе еще веселее - почти как в протеусе но частота в два раза меньше (ширина импульса 5us)
выкладываю проект code vision (внутри кода продукт настройки визарда и функция с кодом выше ну и вкючение выключение портов внутри прерываний) файл для протеуса и проект для vmlab
тыксь переинсталлировал код вижн теперь протеус показывает боле менее то что я хочу , но пока только он
Re: Глюки VMLab 3.14
Добавлено: Ср сен 29, 2010 16:32:57
юрамеханик
причем интересные штуки вылазят
[PC = $00C9, Time = 1.04 ms, {MEM}]: Attempt to write in an forbidden position
происходит при
а после
меняется значение регистра ICR1H (становится 0x03)
хотя в коде нигде значение этого регистра не используется
таааак
вообщем устанавливаю на регистрах периферии break on write и на блюдаю следующий бред
скажем ползунок программы на строчке ICR1L окено сообщений говорит
[PC = $00D1, Time = 1.04 ms]: Break on write. Address = $0046 -> ASSR
причем $0046 это адрес ICR1L
и так несколько раз с разными регистрами разных таймеров