roboforum.ru

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


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

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

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

Сообщение legion » 28 июн 2012, 22:04

Разобрался, дело не в инопланетянах, а в прокладке между стулом и микроконтроллером.

Надо было использовать режим WGM = 4, а не WGM = 12. И при этом записать в OCR1A что-нибудь побольше нуля. И при этом умудриться не накосячить с порядком записи туда двухбайтного числа. Так-то!
legion
 
Сообщения: 736
Зарегистрирован: 24 апр 2010, 14:47
Откуда: Уфа
прог. языки: avr asm

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

Сообщение 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 есть.
legion
 
Сообщения: 736
Зарегистрирован: 24 апр 2010, 14:47
Откуда: Уфа
прог. языки: avr asm

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

Сообщение uz6 » 24 сен 2012, 01:46

Купил плату гироскопов с мегой168 для квадрокоптеров. Пока экспериментировал, мегу залочил наглухо. Думаю, что параллельным программатором оживить можно, но под рукой его нет. Поменял МК, прошил, но частота внутреннего RC-генератора не совпадает с требуемой, а для обработки PPM сигналов это критично.

Можно как то откалибровать внутренний генератор, не меняя прошивки? (исходников нет)
Аватара пользователя
uz6
 
Сообщения: 110
Зарегистрирован: 12 фев 2008, 15:00
Откуда: Шахты
прог. языки: Delphi, Python, ну и асм немного

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

Сообщение uz6 » 24 сен 2012, 02:15

Вот в этом то и вопрос. Можно ли заводскую калибровку изменить, которая автоматом в OSCCAL записывается?
Аватара пользователя
uz6
 
Сообщения: 110
Зарегистрирован: 12 фев 2008, 15:00
Откуда: Шахты
прог. языки: Delphi, Python, ну и асм немного

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

Сообщение legion » 24 сен 2012, 02:57

Нужно обычным программатором перешить fuse биты.
А не, туплю, соррь. Нужно изменить значение регистра OSCCAL.

Что-то не приходит в голову, как его поменять без исходников. Дизассемблировать, найти что-нибудь лишнее после ресета, потереть и туда вкорячить, чтоли?
legion
 
Сообщения: 736
Зарегистрирован: 24 апр 2010, 14:47
Откуда: Уфа
прог. языки: avr asm

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

Сообщение Radist » 24 сен 2012, 08:18

Сперва дизассемблировать, найти команду out в этот регистр. Перед ним будет загрузка калибровочного байта в регистр. Поменять число и контрольную сумму.
Аватара пользователя
Radist
 
Сообщения: 2254
Зарегистрирован: 01 июл 2009, 08:59
Откуда: Екатеринбург
прог. языки: асемблер AVR

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

Сообщение uz6 » 24 сен 2012, 09:24

Посоветуйте дизассемблер для AVR,plz.
Аватара пользователя
uz6
 
Сообщения: 110
Зарегистрирован: 12 фев 2008, 15:00
Откуда: Шахты
прог. языки: Delphi, Python, ну и асм немного

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

Сообщение legion » 24 сен 2012, 10:06

Проще, наверное, посмотреть в студии хекс код out osccal rX и ldi rX число и поменять это число прямо в хексе. Это если там вообще есть загрузка в калибровочный регистр. Вообще должна быть, если код действительно чувствителен к частоте
legion
 
Сообщения: 736
Зарегистрирован: 24 апр 2010, 14:47
Откуда: Уфа
прог. языки: avr asm

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

Сообщение 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, благо хекс нешифрованный :)
boez
 
Сообщения: 1981
Зарегистрирован: 27 авг 2008, 10:45
Откуда: Харьков
прог. языки: С/С++

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

Сообщение uz6 » 26 сен 2012, 16:00

Ок. Спасибо, буду пробовать.

Опа, нашел дизассемблер http://stream.ifolder.ru/6783372 :)
Аватара пользователя
uz6
 
Сообщения: 110
Зарегистрирован: 12 фев 2008, 15:00
Откуда: Шахты
прог. языки: Delphi, Python, ну и асм немного

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

Сообщение esisl » 10 окт 2012, 17:12

:(
При прошивке cvavr во флеш Atiny13 пишет FLASH contents mismatch at address ...

Что бороть?
esisl
 
Сообщения: 1480
Зарегистрирован: 23 июл 2012, 15:24

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

Сообщение galex1981 » 10 окт 2012, 17:27

Попробуйте Студией прошить
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

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

Сообщение esisl » 10 окт 2012, 18:05

Фффё! Заработало. На другом компутере :( Видимо порт глючил.
esisl
 
Сообщения: 1480
Зарегистрирован: 23 июл 2012, 15:24

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

Сообщение Kitam1n » 19 окт 2012, 14:38

Plz. help!

В первой задаче-упражнении после компиляции в папке z1 должны появиться файлы, среди которых:
z1__.с - копия файла z1.c для симуляторов

Но у меня после компиляции он не появляется :(. Естественно без него ругается VMLAB и я не могу просимулировать сделанную прошивку.

В подпапках смотрел, пересоздавал прошивку с начала несколько раз, пробовал на двух компах.

Что я делаю не так?
CVAVR - 2.05 - крякнутая

И еще вопрос, все ли перечисленные там программы сейчас актуальны?
Пробовал Atmel Studio 6.0, громоздкая и до тошноты напоминает Visual Studio. :bad:
Лучше переесть, чем недоспать.
Аватара пользователя
Kitam1n
 
Сообщения: 343
Зарегистрирован: 30 мар 2012, 16:39
Откуда: Москва
прог. языки: C#, Си, php
ФИО: Влад

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

Сообщение avr123.nm.ru » 20 окт 2012, 02:43

курс писал в 2004 году примерно и конечно многое поменялось, щас я советую связку: Atmel AVR Studio 4.19 + WinAVR + PROTEUS ( http://www.oProteus.narod.ru ) и как генераторы кода CVAVR и ICC :beer:

и (Atmel AVR Studio 4.19 + WinAVR) = Студия 6.

==============
в курсе моем про AVR - http://www.proavr.narod.ru написано - z1__.с
это для CVAVR 1.xxxxx а для cvavr 2.xxx ...

Смотрите что написано внизу заглавной странички курса по AVR :D и во ВТОРОМ ПОСТЕ этой темы!!!!!!!! :ROFL:
-
Вложения
cvavr изменено название файлов.jpg
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Пред.След.

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

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

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