- Как такая реализация работы с EEPROM? mazur(759 знак., 25.07.2012 21:55 - 22:00, AVR, полностью)
- почему бы просто не писать по кругу без всяких счетчиков ? по достижению конца EEPROM делать полное стирание и возвращаться к началу. так и делаю на AVR/STM32, проблем нет... - zeleny(26.07.2012 16:33)
- Кстати да, рекомендую google://jffs - fk0(26.07.2012 00:18)
- Обычно забывают, что питание, например, может пропасть в любой момент времени. Или ещё чего. В итоге недозапишется, запишется ерунда, сотрётся но не перезапишется (а стирается отнюдь не байтами часто, а цельными страницами -- подробности или в fk0(54 знак., 26.07.2012 00:16)
- +1 - Vit(26.07.2012 00:17)
- При журналировании нельзя ориентироваться на какой-то "нерабочий" код. Либо нужно ввести признак первого включения, который храниться где-то в другом месте, не в EEPROM и при первом включении инициализировать журнал начальной записью. Либо при rezident(225 знак., 25.07.2012 23:12)
- А какая цель у этого алгоритма? - Apтём(25.07.2012 22:15 - 22:18)
- переход по адресу MegaJohn(153 знак., 06.07.2012 19:18, AVR, полностью)
- каждые 20мс нужно выполнить длительную блокирующую процедуру длительностью 10мс по передаче данных. Хочу сделать красиво: в прерывании таймера переназначить стек и выполнить вытеснение основного цикла main на эту процедуру с восстановлением main. MegaJohn(134 знак., 12.07.2012 13:09, AVR, полностью)
- нафига передачу делать блокирующей? Это бред полный. Сделай буфер в памяти, складывай туда данные, и передавай по DMA если оно есть, или по прерываниям UART - koyodza(12.07.2012 18:15)
- Да всё правильно чел говорит. KISS - Keep It Simple, Stupid! - =AlexD=(12.07.2012 13:30 - 14:44, ссылка)
- Никаких, Вы уже вытеснили main прерыванием и сохранили его контекст. Если с детерминированностью выполнения остальных функций и прерываний у Вас все в порядке - вызывайте функцию прямо в обработчике. - Хитрый Китаец(12.07.2012 13:48)
- Если там big loop, то проще допустить, что он может оборачиваться за 100мс, например. А всё требующее быстрой реакции в прерывания (от таймера в т.ч.) Если не устраивает, то делать функцию не блокирующей, методом автоматного программирования... - fk0(12.07.2012 13:19)
- При наличии "длительной блокирующей функции" плюсов нет вообще, ни в одной из реализаций. - Vladimir Ljaschko(12.07.2012 13:14)
- ATmega16U4. В практически готовом проекте понизил питание до 3.3В и контроллер не работает. Где копать? - BNSaxap(06.07.2012 15:33, AVR, полностью)
- Прошу помочь с PDI. Есть ATxmega256A3 и эмулятор JTAGICE mkII. Так вот через JTAG все работает, пробую через PDI (пробовал и в IAR и в AVR Studio) - не работает. Прога уже отлажена, просто решил сократить количество выводов. Fuse: 0=FFh, 1=F6h, pav256(175 знак., 03.07.2012 17:39, AVR, полностью)
- Народ посоветуйте букварей по программированию для WinAVR. Желательно с последними изменениями синтаксиса. Решился таки. - efort(07.06.2012 15:37,
, AVR, полностью)
- Попутный вопрос, если позволите. Потребовался бесплатный компилятор С для AVR. Как понимаю, выбор один - WinAVR. Но я не понял одного - какая же версия предпочтительнее? Вот эта - sourceforge.net/projects/winavr/files/ или же avr toolchain от alex68(125 знак., 11.06.2012 17:58)
- Дык, в комплекте идёт. После установки: WinAVR/Doc. Файл avr-libc-user-manual.pdf. Там почти всё. - Юрий_СВ(07.06.2012 22:45 - 08.06.2012 04:05)
- Керниган и Ритчи... Роб Пайк "Практика программирования"... Изучать именно WinAVR -- дурь. - fk0(07.06.2012 19:07)
- Мне в сжатом виде(ликбез) быстро стартануть применительно к AVR: Порты, биты обозначаем так-то, прерывания вызываем эдак, структуры и юнионы обозначаем ... и т.д. В CVAVR-e наталкивался на отличия от других компиляторов. Для WinAVR всё как-то efort(260 знак., 08.06.2012 09:04,
)
- Здесь всё сосредоточено в одном месте. Все ответы хороши, выбирай на вкус. - KLIM83(08.06.2012 14:01, ссылка)
- Причём здесь WinAVR? Порты и биты -- в даташите. Вообще достаточно в *.h заглянуть и пару примеров проектов посмотреть. Вообще никто не заставляет использовать эти _BV(), можно писать как в даташите. Документация к avr-libc есть на сайте и fk0(416 знак., 08.06.2012 10:56)
- Цитата из Вас :"Типичный случай каши в голове. "Отличия от компиляторов" -- каким они боком к AVR?"Каша, извините у Вас. Когда в книжке по С видишь как определяются структуры и юнионы и делаешь по писанному применительно к AVR в efort(339 знак., 08.06.2012 11:31,
)
- как-как... читать AVR-Libc manual и его NEWs, Шпак тут при чем ? - zeleny(11.06.2012 18:33, ссылка, ссылка)
- Я и говорю, каша в голове. Ни SIGNAL, ни ISR() к языку программирования C не имеет никакого отношения. Там вообще про прерывания ничего не известно. Если очень неймётся, то можно плюнуть на ISR(), написать свой пролог-эпилог обработчика на асме, fk0(1032 знак., 08.06.2012 11:55)
- Нет уж, пожалуйста про юнионы и структуры поподробнее! - Vladimir Ljaschko(08.06.2012 11:49)
- И вообще неплохо бы знать для начала, что WinAVR вообще не существует, это на самом деле GCC. - fk0(08.06.2012 10:57)
- Ты сперва попробуй вдуматься... - Гудвин(07.06.2012 19:22)
- Все в %WinAVR folder%\doc и там --> - MBedder(07.06.2012 16:10, ссылка)
- А есть какая-нибудь софтина, которая цепляет stk600 с одной стороны, а с другой работает как GDB сервер? - Mebius(05.07.2012 22:43, AVR)
- Прикупил AVRDRAGON... Не получается с ним толком работать (да, таргет - ATMEGA1284P). Сделал маленький проект (получаю по RS485 байт и возвращаю обратно) в ATMEL Studio 6.0 и в Iar. При попытке отладки на железе из проекта ATMEL Studio может DGW(461 знак., 26.06.2012 15:53,
, AVR, полностью)
- Можно ли в AVR Studio 4 (asm) узнать, сколько раз используется каждая метка, чтобы быстро найти неиспользуемые подпрограммы и метки? Или как иначе можно вычислить неиспользуемые подпрограммы в здоровенной проге? - Liter(25.06.2012 13:54, AVR, полностью)
- Пару лет уже не занимался уартом. Тогда заработало я и успокоился. Сейчас делаю одну вещицу. Хотел прояснить один момент. Правильное использование флагов UDRE и TXC. Тогда я использовал TXC. Все работало. МК принимал по уарту и отправлял без mazur(9 знак., 18.06.2012 10:41, AVR, полностью)
- Танцы с бубном. ATmega48 Ljutik1(863 знак., 19.06.2012 18:06, AVR, полностью)
- Где есть информация, какие AVR старые, какие новые? Мне бы в виде таблицы. - mazur(16.06.2012 23:38, AVR, полностью)
- Дяденьки, помогите откомпилировать старый проект загрузчика. Vladimir Ljaschko(241 знак., 04.06.2012 23:20, AVR, полностью)
- Update. Посоветуйте, как быть. mazur(780 знак., 03.06.2012 14:31 - 15:21, AVR, полностью)
- IAR 5, как в С юзать асмовские понятно. Но как корректно в самих вставках использовать имена регистров ? Не вкурил. - MegaJohn(27.05.2012 21:34, AVR, полностью)
- "Это только состоятельному человеку под силу"(с) Раз зашол сюда то как не помочь по телесисовской памяти? :-)Короче, Евгений, это получится немножко неуклюжо но жить можно. Писать придется так asm("sbi _A_PORTB - 0x20, 1"); тоесть ВасилийС(303 знак., 28.05.2012 13:08,
)
- Насколько я понял вопрос, вам нужно к переменной добавить префикс, относящий её к регистровой, и обращаться к этой переменной по имени. По факту обращение будет идти к регистру. - Ralex(28.05.2012 11:33)
- А не приведёте пример что именно вам понятно? Как использовать asm-функции? Или Inline asssembler? Мне вот совершенно непонятно. Apтём(71 знак., 28.05.2012 02:49)
- в iom168.inc нет описания регистров,только биты описаны - MegaJohn(27.05.2012 21:50)