Согласен.ПростоНуб писал(а):Ведь удобней ехать пассажиром, чем самому крутить баранку
Ассемблер (ASM) для AVR в вопросах и ответах
Re: Ассемблер (ASM) для AVR в вопросах и ответах
- Реклама
- ПростоНуб
- Собутыльник Кота
- Сообщения: 2723
- Зарегистрирован: Пт сен 07, 2018 20:20:02
- Откуда: деревня в Тульской губернии
Re: Ассемблер (ASM) для AVR в вопросах и ответах
[uquote="Мурик",url="/forum/viewtopic.php?p=3469438#p3469438"]потратил бы на топливо[/uquote]
Нет, еще взяли бы за аммортизацию такси, а свое авто предложили бы Вам выбросить
Нет, еще взяли бы за аммортизацию такси, а свое авто предложили бы Вам выбросить
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Вы это про AVR.
Спасибо не надо. 
- ПростоНуб
- Собутыльник Кота
- Сообщения: 2723
- Зарегистрирован: Пт сен 07, 2018 20:20:02
- Откуда: деревня в Тульской губернии
Re: Ассемблер (ASM) для AVR в вопросах и ответах
[uquote="Мурик",url="/forum/viewtopic.php?p=3469463#p3469463"]Вы это про AVR.
Спасибо не надо.
[/uquote]
Если вы не полный дебил, то должны понимать, что в этой теме люди задают вопросы о МК АVR, котрый у них уже есть. А Вы, своими рекламными слоганами про STM способны только вызвать отторжение как к себе, так и ко всей продукции STMicro.
Если вы не полный дебил, то должны понимать, что в этой теме люди задают вопросы о МК АVR, котрый у них уже есть. А Вы, своими рекламными слоганами про STM способны только вызвать отторжение как к себе, так и ко всей продукции STMicro.
- Гефестион
- Поставщик валерьянки для Кота
- Сообщения: 2022
- Зарегистрирован: Вт фев 09, 2010 02:04:53
- Откуда: Санкт-Петербург
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Увеличил частоту TWI до 40 кГц (до этого было 10), индикация дёргаться перестала. И тут прихожу через несколько часов - динамическая индикация встала, ярко горит последняя цифра
Значит, контроллер завис в прерывании от RTC и не может из него выбраться (вложенные прерывания то я запретил). Значит, он ожидает от шины ответа, а она не отвечает. И вот как отследить, что шина TWI зависла и перезапустить её?
Фак, кот грызёт провод! Сейчас его ударит либо током, либо тапком! ))
- Реклама
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Таймаут добавить. Не просто висеть в цикле while (при ожидании флагов start/stop/ack), а декрементировать в нём переменную, при достижении нуля выходить из цикла с ошибкой.
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: Ассемблер (ASM) для AVR в вопросах и ответах
[uquote="ПростоНуб",url="/forum/viewtopic.php?p=3469152#p3469152"]тоже в SOP-8, так как габариты имеют значение.[/uquote]Это уже противоречие. Вам же показали корпуса в разы меньше, чем SO-8 nри в разы большем количестве выводов. SO-8 это 6x5,4 мм и 8 ног - это монстр просто.
- ПростоНуб
- Собутыльник Кота
- Сообщения: 2723
- Зарегистрирован: Пт сен 07, 2018 20:20:02
- Откуда: деревня в Тульской губернии
Re: Ассемблер (ASM) для AVR в вопросах и ответах
[uquote="VladislavS",url="/forum/viewtopic.php?p=3469750#p3469750"]Это уже противоречие[/uquote]
Никакого противоречия
[uquote="VladislavS",url="/forum/viewtopic.php?p=3469750#p3469750"]в разы большем количестве выводов[/uquote]
Именно. И для них надо развести дорожки на плате, которые займут места больше, чем сам корпус. Или Вы будете сейчас описывать преимущества многослойных плат?
[uquote="VladislavS",url="/forum/viewtopic.php?p=3469750#p3469750"]SO-8 это 6x5,4 мм и 8 ног - это монстр просто.[/uquote]
Мне предложили не меньших монстров. Или TSSOP-20 6.5x6.5, или LQFP32 7x7. Если это "корпуса в разы меньше" - подучите арифметику.
Никакого противоречия
[uquote="VladislavS",url="/forum/viewtopic.php?p=3469750#p3469750"]в разы большем количестве выводов[/uquote]
Именно. И для них надо развести дорожки на плате, которые займут места больше, чем сам корпус. Или Вы будете сейчас описывать преимущества многослойных плат?
[uquote="VladislavS",url="/forum/viewtopic.php?p=3469750#p3469750"]SO-8 это 6x5,4 мм и 8 ног - это монстр просто.[/uquote]
Мне предложили не меньших монстров. Или TSSOP-20 6.5x6.5, или LQFP32 7x7. Если это "корпуса в разы меньше" - подучите арифметику.
- VladislavS
- Собутыльник Кота
- Сообщения: 2562
- Зарегистрирован: Вт май 01, 2018 19:44:47
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Во-первых, кто заставляет все ноги разводить. А вот когда понадобится 7-ю ногу в so-8 нигде не возьмешь. Во-вторых, я чип 3х3 предлагал. Там и 2х2 есть, но это не под наше производство.
- Гефестион
- Поставщик валерьянки для Кота
- Сообщения: 2022
- Зарегистрирован: Вт фев 09, 2010 02:04:53
- Откуда: Санкт-Петербург
Re: Ассемблер (ASM) для AVR в вопросах и ответах
[uquote="WiseLord",url="/forum/viewtopic.php?p=3469743#p3469743"]Таймаут добавить. Не просто висеть в цикле while (при ожидании флагов start/stop/ack), а декрементировать в нём переменную, при достижении нуля выходить из цикла с ошибкой.[/uquote] Ок, сделал. Я так понимаю, что при возникновении ошибки нужно перезапустить модуль TWI? Для этого достаточно просто "передёрнуть" бит TWEN в регистре TWCR?
Фак, кот грызёт провод! Сейчас его ударит либо током, либо тапком! ))
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18629
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
по-хорошему надо бы выяснить, что за ошибка.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Ivanoff-iv
- Друг Кота
- Сообщения: 7077
- Зарегистрирован: Пт ноя 11, 2016 05:48:09
- Откуда: Сердце Пармы
Re: Ассемблер (ASM) для AVR в вопросах и ответах
конечно... если даже в простых схемах/программах костыли, то что же будет дальше?
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Re: Ассемблер (ASM) для AVR в вопросах и ответах
В принципе...
От длительного зависона WDT спасает и без дополнительных счетчиков...

От длительного зависона WDT спасает и без дополнительных счетчиков...
- Гефестион
- Поставщик валерьянки для Кота
- Сообщения: 2022
- Зарегистрирован: Вт фев 09, 2010 02:04:53
- Откуда: Санкт-Петербург
Re: Ассемблер (ASM) для AVR в вопросах и ответах
[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3469987#p3469987"]конечно... если даже в простых схемах/программах костыли, то что же будет дальше?[/uquote]
Я не думаю, что это программная ошибка. Скорее всего, это прилетает помеха от импульсного преобразователя (у меня на этой плате стоит повышающий DC-DC) и от этого TWI глючит.
Добавлено after 50 seconds:
[uquote="BOB51",url="/forum/viewtopic.php?p=3470016#p3470016"]От длительного зависона WDT спасает и без дополнительных счетчиков...
[/uquote] Вот да, щас как раз думаю в этом направлении.
Я не думаю, что это программная ошибка. Скорее всего, это прилетает помеха от импульсного преобразователя (у меня на этой плате стоит повышающий DC-DC) и от этого TWI глючит.
Добавлено after 50 seconds:
[uquote="BOB51",url="/forum/viewtopic.php?p=3470016#p3470016"]От длительного зависона WDT спасает и без дополнительных счетчиков...
Фак, кот грызёт провод! Сейчас его ударит либо током, либо тапком! ))
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Корректную программу на ассемблере может вышибить в "глюк" только искровой разряд с зажигалки для газплиты в шину питания устройства. И то... не во всех случаях...

-
Alexeyslav
- Друг Кота
- Сообщения: 4550
- Зарегистрирован: Чт май 05, 2011 21:26:34
- Откуда: Украина, Славутич
- Контактная информация:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Ждать что-то в прерывании - вот самый большой глюк. Не надо ничего ждать в прерывании, это изначально порочная практика.
Почему бы информацию не считывать в основном потоке, а в прерывании только выставить флаг что "пора читать".
Почему бы информацию не считывать в основном потоке, а в прерывании только выставить флаг что "пора читать".
-
Vaha
- Первый раз сказал Мяу!
- Сообщения: 21
- Зарегистрирован: Пт окт 11, 2013 20:43:07
- Откуда: с. Муравлёвка Измаильский р-н.
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Здравствуете.
У кого установлена AVR Studio версии 4.19 и ниже, уделите минут пять, погоняйте код (приложеный)
Таймер/счетчик-1 запрограммирован "Fast PWM" 8-бит. При отладке в AVR Studio (пробовал версии 4, 4.13, 4.18, 4.19) Т/С-1 ведет себя как "Phase correct PWM" (TCNT - счетный регистр должен при "Fast PWM" от "0" досчитать до "FF", выставить флаг переполнения, сброситься в "0" и опять до "FF"... , у меня при отладке "TCNT" от "0" считает до "FF", после от "FF" считает до "0", выставляет флаг переполнения и т.д. ...?). Если и у Вас так-же - наверно глюк студии, если нет - буду копать дальше - переустанавливать винду и т.д. ...
В Протеусе все работает.
В AVR Studio 5.1 - отладка проходит правильно, но не могу при отладке регистры периминовать, так, как они в программе обозваны директивой ".def" -? Может кто знает как при отладке можно регистры переименовывать в AVR Studio 5.1?
У кого установлена AVR Studio версии 4.19 и ниже, уделите минут пять, погоняйте код (приложеный)
Таймер/счетчик-1 запрограммирован "Fast PWM" 8-бит. При отладке в AVR Studio (пробовал версии 4, 4.13, 4.18, 4.19) Т/С-1 ведет себя как "Phase correct PWM" (TCNT - счетный регистр должен при "Fast PWM" от "0" досчитать до "FF", выставить флаг переполнения, сброситься в "0" и опять до "FF"... , у меня при отладке "TCNT" от "0" считает до "FF", после от "FF" считает до "0", выставляет флаг переполнения и т.д. ...?). Если и у Вас так-же - наверно глюк студии, если нет - буду копать дальше - переустанавливать винду и т.д. ...
В Протеусе все работает.
В AVR Studio 5.1 - отладка проходит правильно, но не могу при отладке регистры периминовать, так, как они в программе обозваны директивой ".def" -? Может кто знает как при отладке можно регистры переименовывать в AVR Studio 5.1?
- Вложения
-
- Fast-PWM.rar
- (48.03 КБ) 220 скачиваний
- Гефестион
- Поставщик валерьянки для Кота
- Сообщения: 2022
- Зарегистрирован: Вт фев 09, 2010 02:04:53
- Откуда: Санкт-Петербург
Re: Ассемблер (ASM) для AVR в вопросах и ответах
[uquote="Alexeyslav",url="/forum/viewtopic.php?p=3471178#p3471178"]Ждать что-то в прерывании - вот самый большой глюк. Не надо ничего ждать в прерывании, это изначально порочная практика.
Почему бы информацию не считывать в основном потоке, а в прерывании только выставить флаг что "пора читать".[/uquote] Согласен, я практически всё делаю в прерываниях, а в основной программе лишь "заглушка" rjmp PC. Тогда такой вопрос. Мне нужно, чтобы некоторый кусок кода в основной программе выполнялся не в замкнутом цикле, а только после выхода из прерывания. Т.е. выполнили однократно этот кусок кода и ждём прерывания. Вышли из прерывания и снова однократно выполнили этот код. Т.е. можно ли как-то из прерывания выйти не туда, откуда оно было вызвано? Или у меня в принципе подход неверный?
Почему бы информацию не считывать в основном потоке, а в прерывании только выставить флаг что "пора читать".[/uquote] Согласен, я практически всё делаю в прерываниях, а в основной программе лишь "заглушка" rjmp PC. Тогда такой вопрос. Мне нужно, чтобы некоторый кусок кода в основной программе выполнялся не в замкнутом цикле, а только после выхода из прерывания. Т.е. выполнили однократно этот кусок кода и ждём прерывания. Вышли из прерывания и снова однократно выполнили этот код. Т.е. можно ли как-то из прерывания выйти не туда, откуда оно было вызвано? Или у меня в принципе подход неверный?
Фак, кот грызёт провод! Сейчас его ударит либо током, либо тапком! ))
-
Alexeyslav
- Друг Кота
- Сообщения: 4550
- Зарегистрирован: Чт май 05, 2011 21:26:34
- Откуда: Украина, Славутич
- Контактная информация:
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Это в принципе подход неверный. Прерывание должно вернуть управление ровно туда откуда было вызвано и точка. Максимум что можно сделать - в прерывании выставить флаг в отдельной переменной а в основном потоке тупо пасти его и делать какое-то действие если он возникнет, не забыв сбросить.
Даже сразу наборчик макросов для этих целей припасён.
Даже сразу наборчик макросов для этих целей припасён.
Спойлер
Должен быть объявлен регистр с "флагами" под символическим именем именем flags.Код: Выделить всё
.macro set_flag
SET
BLD flags, @0
.endmacro
.macro clr_flag
CLT
BLD flags, @0
.endmacro
.macro go_if_flag
BST flags, @0
BRTS @1
.endmacro
.macro go_if_noflag
BST flags, @0
BRTC @1
.endmacro
- Гефестион
- Поставщик валерьянки для Кота
- Сообщения: 2022
- Зарегистрирован: Вт фев 09, 2010 02:04:53
- Откуда: Санкт-Петербург
Re: Ассемблер (ASM) для AVR в вопросах и ответах
Хорошая идея с флагом Т
Я про него забыл 
Фак, кот грызёт провод! Сейчас его ударит либо током, либо тапком! ))


