Страница 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 и .с файл скормил и смотри да бегай по коду.
Сраный протеус название регистров толкьо по адресам показывает да и нет возможности менять скорость симуляции по ее ходу :evil:

Re: Глюки VMLab 3.14

Добавлено: Вт сен 28, 2010 11:57:04
radio-kot
вы не сраный - это хорошо.

Re: Глюки VMLab 3.14

Добавлено: Вт сен 28, 2010 12:06:51
GP1
юрамеханик писал(а):невозможно установить некоторые режимы у теймера1
ммда, как-то не было нужды использовать режимы из второй половины таблицы списка режимов, действительно WGM13 ни как не устанавливается :dont_know:

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
происходит при

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

OCR0=0x00;
а после

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

TCCR2=0x03
меняется значение регистра ICR1H (становится 0x03)
хотя в коде нигде значение этого регистра не используется


таааак

вообщем устанавливаю на регистрах периферии break on write и на блюдаю следующий бред
скажем ползунок программы на строчке ICR1L окено сообщений говорит
[PC = $00D1, Time = 1.04 ms]: Break on write. Address = $0046 -> ASSR
причем $0046 это адрес ICR1L
и так несколько раз с разными регистрами разных таймеров