Мигать светодиодом. ARM или не-ARM?
- Сообщения: 616
- Зарегистрирован: Вс ноя 01, 2015 13:13:49
Та не. Это уже все из области привычек и предпочтений. И на ЦМСИС можно написать все просто и понятно. Коменты ещё никто не отменял. А так можно ещё и спорить какая анотация православнее, обычная или венгерская.
- Реклама
- Сообщения: 2089
- Зарегистрирован: Вс июн 19, 2016 09:32:03
[uquote="scorpi_0n",url="/forum/viewtopic.php?p=3148819#p3148819"]Та не. Это уже все из области привычек и предпочтений. И на ЦМСИС можно написать все просто и понятно. Коменты ещё никто не отменял. А так можно ещё и спорить какая анотация православнее, обычная или венгерская.[/uquote]
Берем первую строку моего кода:
Совершенно ничего примечательного, но в тут же функцию я могу передать периферию висящую на другой шине:
Если этот код компилируется, значит он работает. А на SPL можно сделать так:
Тут две ошибки: у этого мк нет USB и и в функцию работающую с APB2 я передал периферию с APB1. Компилируется замечательно, хотя внутри там есть пара assert_param и если они включены, то может быть я получу ошибку во время исполнения. Естественно эти assert_param в таком случае еще и сгенерят лишний код. Это реальные ошибки, на форумах постоянно появляются люди которые именно такие ошибки и допускают. Если вместо вызова функции работать с регистрами напрямую, то вероятность ошибиться еще больше, особенно если внутри скрыта работы с многими регистрами в которых придется выставить множество битов. Но я с тобой согласен, люди пишут менее понятный и более подверженный ошибкам код вследствии тех же привычек и предпочтений из-за которых они не могут отказаться от AVR 
Берем первую строку моего кода:
Код: Выделить всё
periphClockEnable(AHBPeriph::GpioA);Код: Выделить всё
periphClockEnable(APB1Periph::DAC | APB1Periph::SPI2);Код: Выделить всё
RCC_APB2PeriphClockCmd(RCC_APB1Periph_USB, ENABLE);- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Пойдем дальше сравнивать.
Одной из главных задач экономики, является задача экономии электроэнергии. Если взять одно мигающее светодиодом устройство, то вроде ничего страшного в потреблении как бы и нет. Но если таких устройств 100... 100500... 10000005000000... а в галактических масштабах? В периодах между зажиганием/гашением светодиода микроконтроллер может находится в режиме sleep, таким образом можно экономить электроэнергию.
Будем рассматривать самый лучший режим экономии, например для AVR Mega это спящий режим Power-down, ток потребления около 0.2uA если Watchdog Timer Disabled и около 6uA если Watchdog Timer Enabled. Но выйти из этого режима можно практически только по External Interrupts или Watchdog continue operating (if enabled). External Interrupts не понятно как можно использовать для пробуждения чтоб мигнуть, а Watchdog только фиксированные временные интервалы (Selectable Time-out period from 16ms to 8s), что не всегда приемлемо.
Теперь STM32F030, рядовой микроконтроллер, не для микропотребляющих применений - Supply current in Standby mode LSI ON and IWDG ON: 2uA. Просыпаться в режиме Standby он может от: WKUP pin rising edge, RTC alarm, external reset in NRST pin, IWDG reset. Independent watchdog регулируется несколько гибчее - есть Prescaler register 3 разряда и Reload register 12 разрядов. С помощью RTC alarm, работающего от LSI можно получить достаточно гибкий и широкий диапазон периода мигания светодиодом, т.е. практически годится для любых применений.
Одной из главных задач экономики, является задача экономии электроэнергии. Если взять одно мигающее светодиодом устройство, то вроде ничего страшного в потреблении как бы и нет. Но если таких устройств 100... 100500... 10000005000000... а в галактических масштабах? В периодах между зажиганием/гашением светодиода микроконтроллер может находится в режиме sleep, таким образом можно экономить электроэнергию.
Будем рассматривать самый лучший режим экономии, например для AVR Mega это спящий режим Power-down, ток потребления около 0.2uA если Watchdog Timer Disabled и около 6uA если Watchdog Timer Enabled. Но выйти из этого режима можно практически только по External Interrupts или Watchdog continue operating (if enabled). External Interrupts не понятно как можно использовать для пробуждения чтоб мигнуть, а Watchdog только фиксированные временные интервалы (Selectable Time-out period from 16ms to 8s), что не всегда приемлемо.
Теперь STM32F030, рядовой микроконтроллер, не для микропотребляющих применений - Supply current in Standby mode LSI ON and IWDG ON: 2uA. Просыпаться в режиме Standby он может от: WKUP pin rising edge, RTC alarm, external reset in NRST pin, IWDG reset. Independent watchdog регулируется несколько гибчее - есть Prescaler register 3 разряда и Reload register 12 разрядов. С помощью RTC alarm, работающего от LSI можно получить достаточно гибкий и широкий диапазон периода мигания светодиодом, т.е. практически годится для любых применений.
- Сообщения: 2089
- Зарегистрирован: Вс июн 19, 2016 09:32:03
[uquote="oleg110592",url="/forum/viewtopic.php?p=3148888#p3148888"]В периодах между зажиганием/гашением светодиода микроконтроллер может находится в режиме sleep, таким образом можно экономить электроэнергию.[/uquote]
Так в моем примере выше можно вместо бесконечного цикла усыплять мк и при этом он может мигать светодиодами хоть на всех пинах всех портов. ARV показывал свою бегущую строку, на STM32 можно сделать ее полностью аппаратной, главное сгенерить подходящую таблицу. Еще мк часто загоняют в сон когда наоборот читают данные с тех же внешних ADC, чтобы понизить уровень помех.
Так в моем примере выше можно вместо бесконечного цикла усыплять мк и при этом он может мигать светодиодами хоть на всех пинах всех портов. ARV показывал свою бегущую строку, на STM32 можно сделать ее полностью аппаратной, главное сгенерить подходящую таблицу. Еще мк часто загоняют в сон когда наоборот читают данные с тех же внешних ADC, чтобы понизить уровень помех.
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
там вроде в Standby mode, чтоб войти, надо периферию всю повыключать. В другом микропотребляющем режиме таки да - солдат (ядро) спит, а служба идет.
- Реклама
- Сообщения: 3342
- Зарегистрирован: Ср янв 02, 2013 08:37:35
[uquote="Reflector",url="/forum/viewtopic.php?p=3148774#p3148774"]В массиве фактически находятся 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, т.е. 200ms светодиод не горит, 200 горит, 400 не горит, 400 горит, 600 не горит, 600 горит и зацикливается.[/uquote]
На билдере для одного светодиода похожий алгоритм будет выглядеть так:
На билдере для одного светодиода похожий алгоритм будет выглядеть так:
- Сообщения: 2089
- Зарегистрирован: Вс июн 19, 2016 09:32:03
[uquote="oleg110592",url="/forum/viewtopic.php?p=3148899#p3148899"]там вроде в Standby mode, чтоб войти, надо периферию всю повыключать[/uquote]
Да, ты прав, для Standby такое не прокатит.

И я ведь правильно понял, что последняя версия Algorithm Builder вышла 7 лет назад?
Да, ты прав, для Standby такое не прокатит.
Реализовать то можно, но на проце и задействуя таймер, возможно единственный. А потом появляются темы как использовать на AVR в качестве обычного таймера WatchDogНа билдере для одного светодиода похожий алгоритм будет выглядеть так:
И я ведь правильно понял, что последняя версия Algorithm Builder вышла 7 лет назад?
- Сообщения: 3342
- Зарегистрирован: Ср янв 02, 2013 08:37:35
[uquote="Reflector",url="/forum/viewtopic.php?p=3148916#p3148916"]И я ведь правильно понял, что последняя версия Algorithm Builder вышла 7 лет назад?[/uquote]
Правильно.
Правильно.
- Сообщения: 616
- Зарегистрирован: Вс ноя 01, 2015 13:13:49
- Сообщения: 2089
- Зарегистрирован: Вс июн 19, 2016 09:32:03
[uquote="АСУ",url="/forum/viewtopic.php?p=3148935#p3148935"]Правильно.
[/uquote]
Значит с новыми модными тиньками, типа tiny417, работать уже не будет.
Значит с новыми модными тиньками, типа tiny417, работать уже не будет.
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
эх была у Atmelа хорошая, недорогая тинька tiny15, STM8ым не совсем просто заменить, так Atmel взял и убил ее.
- Сообщения: 3342
- Зарегистрирован: Ср янв 02, 2013 08:37:35
[uquote="Reflector",url="/forum/viewtopic.php?p=3148942#p3148942"]Значит с новыми модными тиньками, типа tiny417, работать уже не будет.[/uquote]
При большом желании будет.
При большом желании будет.
- Сообщения: 2089
- Зарегистрирован: Вс июн 19, 2016 09:32:03
[uquote="АСУ",url="/forum/viewtopic.php?p=3148969#p3148969"]При большом желании будет.
[/uquote]
Конечно, можно проспонсировать написание нового билдера, а потом купить пару тинек чуть дешевле STM32
Конечно, можно проспонсировать написание нового билдера, а потом купить пару тинек чуть дешевле STM32
- Сообщения: 3342
- Зарегистрирован: Ср янв 02, 2013 08:37:35
[uquote="Reflector",url="/forum/viewtopic.php?p=3148970#p3148970"]Конечно, можно проспонсировать написание нового билдера, а потом купить пару тинек чуть дешевле STM32
[/uquote]
Опять 25… Вы специально подкрадывались огородами, чтобы выдать данный тезис?!
С чего Вы решили, что у меня нет СТМ?
Хотите померяться письками? Это не ко мне, я давно не в этом возрасте… как пишет скорпиоша – я древний… так что Вам к детишкам типа scorpi_0n… 
Опять 25… Вы специально подкрадывались огородами, чтобы выдать данный тезис?!
- Сообщения: 2089
- Зарегистрирован: Вс июн 19, 2016 09:32:03
[uquote="АСУ",url="/forum/viewtopic.php?p=3149043#p3149043"]Опять 25… Вы специально подкрадывались огородами, чтобы выдать данный тезис?!
[/uquote]
Данный тезис означает, что раз билдер уже 7 лет не обновляли, то из-за нескольких тинек никто его обновлять и не будет. Ну да, согласен, несколько погарячился, вероятность того что в обозримом будущем эти тиньки будут немного дешевле STM32 крайне мала
Данный тезис означает, что раз билдер уже 7 лет не обновляли, то из-за нескольких тинек никто его обновлять и не будет. Ну да, согласен, несколько погарячился, вероятность того что в обозримом будущем эти тиньки будут немного дешевле STM32 крайне мала
Не из чего, я такого и не говорил.С чего Вы решили, что у меня нет СТМ?
- Сообщения: 3342
- Зарегистрирован: Ср янв 02, 2013 08:37:35
[uquote="Reflector",url="/forum/viewtopic.php?p=3149075#p3149075"]
Да, прямо не говорили… но вот намёк на это был…

Не из чего, я такого и не говорил.[/uquote]С чего Вы решили, что у меня нет СТМ?
Да, прямо не говорили… но вот намёк на это был…
Ладно, глупости всё это… меня ни чуть не задевает упрёки в мой адрес по использованию древних продуктов… мне не важно общественное мнение, для меня на первом месте – нравится ли он мне (данный продукт).а потом купить пару тинек чуть дешевле STM32
- Сообщения: 616
- Зарегистрирован: Вс ноя 01, 2015 13:13:49
Конечно не будет! tiny417 не кошерная тини, она трёхзначная, бесовская, как 666, и её коснулась грязная рука неверного Микрочипа.Значит с новыми модными тиньками, типа tiny417, работать уже не будет.
- Сообщения: 2089
- Зарегистрирован: Вс июн 19, 2016 09:32:03
[uquote="АСУ",url="/forum/viewtopic.php?p=3149087#p3149087"]Да, прямо не говорили… но вот намёк на это был…
И это должно было означать, что даже экономя потом на тиньках все равно не окупишь затраты на переписывание билдера.
Кстати, никого не удивляет почему автор сделал алгоритм билдер бесплатным и давно забросил? Вот его ответ:
[/uquote]а потом купить пару тинек чуть дешевле STM32
И это должно было означать, что даже экономя потом на тиньках все равно не окупишь затраты на переписывание билдера.
Кстати, никого не удивляет почему автор сделал алгоритм билдер бесплатным и давно забросил? Вот его ответ:
Но эта среда похоже так и не появилась, глупо состязаться с современными компиляторами, наверняка автор это понял вскоре после того, как осознал бесперспективность AVR.Некоторое время продукт находился в некоторой неопределенности, поскольку дальнейшая поддержка AVR уже не имела смысла.
В данное время активно разрабатывается подобная среда для ARM Cotrex-M3. Для начала это будет STM32.
[uquote="oleg110592",url="/forum/viewtopic.php?p=3148480#p3148480"]Жителям, перешедшим на новое решение, больше не придётся снимать показания вручную, кроме этого, за расходом электроэнергии, воды и газа можно будет следить через удобное приложение и выгружать статистику за определённый период.[/uquote]Сомнительное преимущество.
Сами чипы в этом, конечно же, не виноваты, но как только счетчики воды и газа поимеют электронные мозги, у водяных, газовщиков и разных управляющих компаний появится реальная возможность (сорри) на*бывать потребителей.
У нас такое было в самом начале появления электронных счетчиков э/энергии :
https://forum.sevastopol.info/viewtopic ... 1&t=215339
Сами чипы в этом, конечно же, не виноваты, но как только счетчики воды и газа поимеют электронные мозги, у водяных, газовщиков и разных управляющих компаний появится реальная возможность (сорри) на*бывать потребителей.
У нас такое было в самом начале появления электронных счетчиков э/энергии :
https://forum.sevastopol.info/viewtopic ... 1&t=215339
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
копипаста всего лишь, спорить с копипастой смысла нет. Меня более заинтересовало:
железку разобрать было бы интересно (имхо)ресурс аккумулятора до 10 лет, а также коэффициент усиления 20 дБ по сравнению с традиционными GSM-сетями и поддержку более чем 100 тыс. соединений в рамках одной соты.


