Мигать светодиодом. ARM или не-ARM?
Re: Мигать светодиодом. ARM или не-ARM?
Та не. Это уже все из области привычек и предпочтений. И на ЦМСИС можно написать все просто и понятно. Коменты ещё никто не отменял. А так можно ещё и спорить какая анотация православнее, обычная или венгерская.
- Реклама
Re: Мигать светодиодом. ARM или не-ARM?
[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);- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
Пойдем дальше сравнивать.
Одной из главных задач экономики, является задача экономии электроэнергии. Если взять одно мигающее светодиодом устройство, то вроде ничего страшного в потреблении как бы и нет. Но если таких устройств 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 можно получить достаточно гибкий и широкий диапазон периода мигания светодиодом, т.е. практически годится для любых применений.
Re: Мигать светодиодом. ARM или не-ARM?
[uquote="oleg110592",url="/forum/viewtopic.php?p=3148888#p3148888"]В периодах между зажиганием/гашением светодиода микроконтроллер может находится в режиме sleep, таким образом можно экономить электроэнергию.[/uquote]
Так в моем примере выше можно вместо бесконечного цикла усыплять мк и при этом он может мигать светодиодами хоть на всех пинах всех портов. ARV показывал свою бегущую строку, на STM32 можно сделать ее полностью аппаратной, главное сгенерить подходящую таблицу. Еще мк часто загоняют в сон когда наоборот читают данные с тех же внешних ADC, чтобы понизить уровень помех.
Так в моем примере выше можно вместо бесконечного цикла усыплять мк и при этом он может мигать светодиодами хоть на всех пинах всех портов. ARV показывал свою бегущую строку, на STM32 можно сделать ее полностью аппаратной, главное сгенерить подходящую таблицу. Еще мк часто загоняют в сон когда наоборот читают данные с тех же внешних ADC, чтобы понизить уровень помех.
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
там вроде в Standby mode, чтоб войти, надо периферию всю повыключать. В другом микропотребляющем режиме таки да - солдат (ядро) спит, а служба идет.
- Реклама
Re: Мигать светодиодом. ARM или не-ARM?
[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]
На билдере для одного светодиода похожий алгоритм будет выглядеть так:
На билдере для одного светодиода похожий алгоритм будет выглядеть так:
Re: Мигать светодиодом. ARM или не-ARM?
[uquote="oleg110592",url="/forum/viewtopic.php?p=3148899#p3148899"]там вроде в Standby mode, чтоб войти, надо периферию всю повыключать[/uquote]
Да, ты прав, для Standby такое не прокатит.

И я ведь правильно понял, что последняя версия Algorithm Builder вышла 7 лет назад?
Да, ты прав, для Standby такое не прокатит.
Реализовать то можно, но на проце и задействуя таймер, возможно единственный. А потом появляются темы как использовать на AVR в качестве обычного таймера WatchDogНа билдере для одного светодиода похожий алгоритм будет выглядеть так:
И я ведь правильно понял, что последняя версия Algorithm Builder вышла 7 лет назад?
Re: Мигать светодиодом. ARM или не-ARM?
[uquote="Reflector",url="/forum/viewtopic.php?p=3148916#p3148916"]И я ведь правильно понял, что последняя версия Algorithm Builder вышла 7 лет назад?[/uquote]
Правильно.
Правильно.
Re: Мигать светодиодом. ARM или не-ARM?
ДинозАВРы!

Re: Мигать светодиодом. ARM или не-ARM?
[uquote="АСУ",url="/forum/viewtopic.php?p=3148935#p3148935"]Правильно.
[/uquote]
Значит с новыми модными тиньками, типа tiny417, работать уже не будет.
Значит с новыми модными тиньками, типа tiny417, работать уже не будет.
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
эх была у Atmelа хорошая, недорогая тинька tiny15, STM8ым не совсем просто заменить, так Atmel взял и убил ее.
Re: Мигать светодиодом. ARM или не-ARM?
[uquote="Reflector",url="/forum/viewtopic.php?p=3148942#p3148942"]Значит с новыми модными тиньками, типа tiny417, работать уже не будет.[/uquote]
При большом желании будет.
При большом желании будет.
Re: Мигать светодиодом. ARM или не-ARM?
[uquote="АСУ",url="/forum/viewtopic.php?p=3148969#p3148969"]При большом желании будет.
[/uquote]
Конечно, можно проспонсировать написание нового билдера, а потом купить пару тинек чуть дешевле STM32
Конечно, можно проспонсировать написание нового билдера, а потом купить пару тинек чуть дешевле STM32
Re: Мигать светодиодом. ARM или не-ARM?
[uquote="Reflector",url="/forum/viewtopic.php?p=3148970#p3148970"]Конечно, можно проспонсировать написание нового билдера, а потом купить пару тинек чуть дешевле STM32
[/uquote]
Опять 25… Вы специально подкрадывались огородами, чтобы выдать данный тезис?!
С чего Вы решили, что у меня нет СТМ?
Хотите померяться письками? Это не ко мне, я давно не в этом возрасте… как пишет скорпиоша – я древний… так что Вам к детишкам типа scorpi_0n… 
Опять 25… Вы специально подкрадывались огородами, чтобы выдать данный тезис?!
Re: Мигать светодиодом. ARM или не-ARM?
[uquote="АСУ",url="/forum/viewtopic.php?p=3149043#p3149043"]Опять 25… Вы специально подкрадывались огородами, чтобы выдать данный тезис?!
[/uquote]
Данный тезис означает, что раз билдер уже 7 лет не обновляли, то из-за нескольких тинек никто его обновлять и не будет. Ну да, согласен, несколько погарячился, вероятность того что в обозримом будущем эти тиньки будут немного дешевле STM32 крайне мала
Данный тезис означает, что раз билдер уже 7 лет не обновляли, то из-за нескольких тинек никто его обновлять и не будет. Ну да, согласен, несколько погарячился, вероятность того что в обозримом будущем эти тиньки будут немного дешевле STM32 крайне мала
Не из чего, я такого и не говорил.С чего Вы решили, что у меня нет СТМ?
Re: Мигать светодиодом. ARM или не-ARM?
[uquote="Reflector",url="/forum/viewtopic.php?p=3149075#p3149075"]
Да, прямо не говорили… но вот намёк на это был…

Не из чего, я такого и не говорил.[/uquote]С чего Вы решили, что у меня нет СТМ?
Да, прямо не говорили… но вот намёк на это был…
Ладно, глупости всё это… меня ни чуть не задевает упрёки в мой адрес по использованию древних продуктов… мне не важно общественное мнение, для меня на первом месте – нравится ли он мне (данный продукт).а потом купить пару тинек чуть дешевле STM32
Re: Мигать светодиодом. ARM или не-ARM?
Конечно не будет! tiny417 не кошерная тини, она трёхзначная, бесовская, как 666, и её коснулась грязная рука неверного Микрочипа.Значит с новыми модными тиньками, типа tiny417, работать уже не будет.
Re: Мигать светодиодом. ARM или не-ARM?
[uquote="АСУ",url="/forum/viewtopic.php?p=3149087#p3149087"]Да, прямо не говорили… но вот намёк на это был…
И это должно было означать, что даже экономя потом на тиньках все равно не окупишь затраты на переписывание билдера.
Кстати, никого не удивляет почему автор сделал алгоритм билдер бесплатным и давно забросил? Вот его ответ:
[/uquote]а потом купить пару тинек чуть дешевле STM32
И это должно было означать, что даже экономя потом на тиньках все равно не окупишь затраты на переписывание билдера.
Кстати, никого не удивляет почему автор сделал алгоритм билдер бесплатным и давно забросил? Вот его ответ:
Но эта среда похоже так и не появилась, глупо состязаться с современными компиляторами, наверняка автор это понял вскоре после того, как осознал бесперспективность AVR.Некоторое время продукт находился в некоторой неопределенности, поскольку дальнейшая поддержка AVR уже не имела смысла.
В данное время активно разрабатывается подобная среда для ARM Cotrex-M3. Для начала это будет STM32.
Re: Мигать светодиодом. ARM или не-ARM?
[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)
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: Мигать светодиодом. ARM или не-ARM?
копипаста всего лишь, спорить с копипастой смысла нет. Меня более заинтересовало:
железку разобрать было бы интересно (имхо)ресурс аккумулятора до 10 лет, а также коэффициент усиления 20 дБ по сравнению с традиционными GSM-сетями и поддержку более чем 100 тыс. соединений в рамках одной соты.


