Технический форум по робототехнике.
legion » 28 июн 2012, 22:04
Разобрался, дело не в инопланетянах, а в прокладке между стулом и микроконтроллером.
Надо было использовать режим WGM = 4, а не WGM = 12. И при этом записать в OCR1A что-нибудь побольше нуля. И при этом умудриться не накосячить с порядком записи туда двухбайтного числа. Так-то!
legion » 17 сен 2012, 23:41
Внезапно узнал о фиче toggling the pin в относительно новых МК AVR:
Writing a logic one to PINxn toggles the value of PORTxn, independent on the value of DDRxn.
Note that the SBI instruction can be used to toggle one single bit in a port.
Запись 1 в PINxn переключает значение PORTxn, независимо от значения DDRxn. Переключать можно в том числе и командой SBI.
Гениально!
Для примера, в меге16А нету, в тини13А и меге48/88/168 есть.
uz6 » 24 сен 2012, 01:46
Купил плату гироскопов с мегой168 для квадрокоптеров. Пока экспериментировал, мегу залочил наглухо. Думаю, что параллельным программатором оживить можно, но под рукой его нет. Поменял МК, прошил, но частота внутреннего RC-генератора не совпадает с требуемой, а для обработки PPM сигналов это критично.
Можно как то откалибровать внутренний генератор, не меняя прошивки? (исходников нет)
uz6 » 24 сен 2012, 02:15
Вот в этом то и вопрос. Можно ли заводскую калибровку изменить, которая автоматом в OSCCAL записывается?
legion » 24 сен 2012, 02:57
Нужно обычным программатором перешить fuse биты.
А не, туплю, соррь. Нужно изменить значение регистра OSCCAL.
Что-то не приходит в голову, как его поменять без исходников. Дизассемблировать, найти что-нибудь лишнее после ресета, потереть и туда вкорячить, чтоли?
Radist » 24 сен 2012, 08:18
Сперва дизассемблировать, найти команду out в этот регистр. Перед ним будет загрузка калибровочного байта в регистр. Поменять число и контрольную сумму.
uz6 » 24 сен 2012, 09:24
Посоветуйте дизассемблер для AVR,plz.
legion » 24 сен 2012, 10:06
Проще, наверное, посмотреть в студии хекс код out osccal rX и ldi rX число и поменять это число прямо в хексе. Это если там вообще есть загрузка в калибровочный регистр. Вообще должна быть, если код действительно чувствителен к частоте
boez » 24 сен 2012, 12:46
The ATmega48/88/168 has a byte calibration value for the internal RC Oscillator. This byte
resides in the high byte of address 0x000 in the signature address space. During reset, this byte
is automatically written into the OSCCAL Register to ensure correct frequency of the calibrated
RC Oscillator.
Так что, может хекс ничего и не пишет в калибровочный регистр - а просто используется значение из этого регистра. Его пробовал программатором менять, может влияет? Или точно уже известно что прошивка переписывает osccal?
Добавлено спустя 1 минуту 53 секунды:А, сорри, торможу. Это ж наверное read-only регистр, раз он в сигнатуре живет... Ну тогда только искать в хексе запись в osccal, благо хекс нешифрованный
uz6 » 26 сен 2012, 16:00
Ок. Спасибо, буду пробовать.
Опа, нашел дизассемблер
http://stream.ifolder.ru/6783372
esisl » 10 окт 2012, 17:12
При прошивке cvavr во флеш Atiny13 пишет FLASH contents mismatch at address ...
Что бороть?
galex1981 » 10 окт 2012, 17:27
Попробуйте Студией прошить
esisl » 10 окт 2012, 18:05
Фффё! Заработало. На другом компутере
Видимо порт глючил.
Kitam1n » 19 окт 2012, 14:38
Plz. help!
В первой задаче-упражнении после компиляции в папке z1 должны появиться файлы, среди которых:
z1__.с - копия файла z1.c для симуляторов
Но у меня после компиляции он не появляется
. Естественно без него ругается VMLAB и я не могу просимулировать сделанную прошивку.
В подпапках смотрел, пересоздавал прошивку с начала несколько раз, пробовал на двух компах.
Что я делаю не так?
CVAVR - 2.05 - крякнутая
И еще вопрос, все ли перечисленные там программы сейчас актуальны?
Пробовал Atmel Studio 6.0, громоздкая и до тошноты напоминает Visual Studio.
avr123.nm.ru » 20 окт 2012, 02:43
курс писал в 2004 году примерно и конечно многое поменялось, щас я советую связку: Atmel AVR Studio 4.19 + WinAVR + PROTEUS (
http://www.oProteus.narod.ru ) и как генераторы кода CVAVR и ICC
и (Atmel AVR Studio 4.19 + WinAVR) = Студия 6.
==============
в курсе моем про AVR -
http://www.proavr.narod.ru написано -
z1__.с это для CVAVR 1.xxxxx а для cvavr 2.xxx ...
Смотрите что написано внизу заглавной странички курса по AVR
и
во ВТОРОМ ПОСТЕ этой темы!!!!!!!! -
- Вложения
-