LINUX.ORG.RU

Ответ на: комментарий от LINUX-ORG-RU

препроцессор принудительно вставит этот код «в туда», где будет использован «наш шаблон», поэтому это и будет та самая обычная функция :о)

все имхо, могу обшибаться :о)

sunjob ★★★★
() автор топика

Извращенец какой-то писал функцию...

Во-первых, в нормальных МК есть способы выполнить софтовый резет без активации собаки.

Во-вторых, если уж через жопу делать, то это красивше было бы в static inline запихнуть.

Ну, а в-третьих, у нормальных людей собака запускается сразу. Как можно без нее работать? Мало ли, что зависнет… Поэтому если нет пункта 1), то перезагрузка выполняется обычным while(1){nop();}

OnlyAsk
()
Ответ на: комментарий от sunjob

Ты не путай обычные функции со статик инлайнами и макросами! В первом случае тратится приличное количество тактов на переписывание стека и переход по адресу функции. Во втором все проще. Но с точки зрения кошерности красивей статик инлайн.

OnlyAsk
()
Ответ на: комментарий от OnlyAsk

я ни чего не путаю! очевидно же из вопрос: ... что-то тут не так ...

и макросами ... все проще ...

что там проще? подводных камней я не вижу, по идее макрос без изменений заменяется/вставляется в «код портянки», разве не так?

в нормальных МК есть

речь идет об «нормальных мк» или в ссылке что-то об этом говориться, кроме как

CAUTION! Older AVRs will have the watchdog timer disabled on a reset

+

софтовый резет без активации собаки

это который goto 0? на авр-фрике это не раз обсуждалось, есть подводные камни, сейчас точно не помню, но что-то не до конца переинициализируется в таком случае (есть выкусы в текстах, нет под рукой)

давайте, пожалуйста, с уточнениями, выкусами из первоисточников! спасибо

sunjob ★★★★
() автор топика
Последнее исправление: sunjob (всего исправлений: 4)
Ответ на: комментарий от LongLiveUbuntu

это где-то гиппотТетически было понятно :о)

но, по сути... задержки для нашего неизбежного дембеля, пардон, «перезагруза» - незначительные, все равно «это произойдет»

вот и неясно, в чем цимес-то?

спасиб

p.s. вставил в проект в виде «обычной функции», отрабатывает нормально ... :о)

sunjob ★★★★
() автор топика
Последнее исправление: sunjob (всего исправлений: 1)
Ответ на: комментарий от sunjob

что там проще?

Нет лишних тиков на работу со стеком при вызове функции. Ну, а если использовать static inline, то нет 100% гарантии, что функция будет заинлайнена! А вот макрос дает 100% гарантию!!!

речь идет об «нормальных мк»

Аврки и прочее говно от микрочипоатмеля к нормальным МК не относится!

Older AVRs will have the watchdog timer disabled on a reset

Вообще-то, если сообака по умолчанию на старте активирована, это не очень-то нормально… Ты при старте должен всю периферию настроить. А как настроил, запускаешь собаку. И если что-то у тебя по вине кривых рук зависнет, то железка не станет кирпичом на какое-то время, а перезагрузится и продолжит работу.

А насчет "нормальных" я имел в виду то, что резет выполняется одним ассемблерным вызовом! Потому как блоку резета пофиг: ты подал нужный уровень на ногу reset, или же на вход собственно блока сброса.

это который goto 0?

Ты не знаешь, что такое софтовый резет? Это то же самое, что аппаратный, но вместо нажатия кнопочки ты запускаешь нужную ассемблерную инструкцию. А переход в начало — не совсем то же самое.

авр-фрике

Ты бросай это дело. Не опускайся до уровня абдуринщиков. Аврки и пики - говно!

OnlyAsk
()

WDTO_15MS константа для разных МК разная, может вообще не быть, лучше функцию сброса поместить в тот же h файл что и константы определяющие все что относится к watchdog, как вариант

ilovewindows ★★★★★
()
Ответ на: комментарий от LongLiveUbuntu

Советую разупороться тебе. Прежде всего, сравни тупую аврку хотя бы с STM8: цена и качество. Тогда тебе станет понятно, что пользоваться в 21 веке продукцией микрочипоатмеля может только динозавр с оговнявшимися мозгами.

OnlyAsk
()
Ответ на: комментарий от LongLiveUbuntu

Зачем? Идиотизм же делать, как в СССР — тупо копировать чужое. У китайцев хорошо получается делать дешевые STM8 (STM8S001, ЕМНИП, от трех рублей за штучку что ли). В России никогда не получится так дешево железо делать (апофеоз китайцев - собственные МК по типу STM32F103, но с улучшенной периферией и по 20 рублей за штучку).

OnlyAsk
()
Ответ на: комментарий от OnlyAsk

микрочипоатмеля

Будто у них из микроконтроллеров одни AVR. Нет, у них также много ARM микроконтроллеров, которые еще и немного дешевле чем у ST.

anonymous
()
Ответ на: комментарий от LongLiveUbuntu

По соотношению цена/потребление/производительность/возможности безнадежно устарел.

anonymous
()
Ответ на: комментарий от Harald

Аврки лидируют лишь из-за того, что на их базе стали делать абдурины. Если бы не толпа дебилов, использующих абдурины, аврки уже можно было бы закопать!

OnlyAsk
()
Ответ на: комментарий от Harald

Кто при выборе между STM8 и AVR выберет последний? Только полный дегенерат что ли? Ничего, что аврка дороже и тупее, чем STM8?

OnlyAsk
()
Ответ на: комментарий от Harald

Ну, это всего лишь рынок. Обычная копроэкономика, ориентированная на дебилов.

OnlyAsk
()
Ответ на: комментарий от OnlyAsk

цена в рознице и большим оптом может сильно отличаться

Harald ★★★★★
()
Ответ на: комментарий от OnlyAsk

+5вольт вместо 3.3, бОльшая надёжность вследствие этого, и т.д. и т.п.

Harald ★★★★★
()
Ответ на: комментарий от OnlyAsk

Кто при выборе между STM8 и AVR выберет последний? Только полный дегенерат что ли? Ничего, что аврка дороже и тупее, чем STM8?

А какие именно STM8 дешевле и умнее Atmega328p ?
А то вот сравниваю
ATMEGA328P https://aliexpress.ru/item/1552217561.html vs STM8S103F3P6 https://aliexpress.ru/item/32668574241.html
и получается ровно наоборот

				  ATMEGA328P	       STM8
Flash Program Memory Size (KB)    	  32 		  8
Data EEPROM/HEF (bytes)        		1024 		640
RAM (KB) 				   2 		  1

superuser ★★★★★
()
Ответ на: комментарий от OnlyAsk

Ты сравни число таймеров с каналами ШИМ, входа, количество АЦП и т.д., и т.п.!

этого пока не сранивал, но уже вижу что озу меньше в 2 раза а под код аж в 4 раза меньше блеать!

superuser ★★★★★
()
Ответ на: комментарий от anonymous

ну так тут плату надо делать, паять и т.д. а там только провода припаять и в продакшен!

superuser ★★★★★
()
Ответ на: комментарий от superuser

Какая тебе разница, сколько там ОЗУ, если аврки - говно?

OnlyAsk
()
Ответ на: комментарий от LongLiveUbuntu

на отечественной элементной базе

Нужно быть полным [censored], чтобы работать с железом 50-летней давности! Да еще и переплачивать кучу денег.

Если сравнить более-менее современную: берем STM32F103CBT6 и аналогичный «миландр». Первый стоит 65 рублей. За штучку. Второй — сам поищи...

OnlyAsk
()
Ответ на: комментарий от superuser

норм? Наверное норм. Норм для чего? Я пользовался 373 камнем и 746 с аппаратным FPU для небольшой обработки сигнала. Если AVR нужен чтобы максимально снизить потребление (батарею экономить) стоит посмотреть на stm камни с буквой L. Вообще подобрать камень удобно можно в утилите STM32CubeMX, только STM8 там нет.

anonymous
()
Ответ на: комментарий от LongLiveUbuntu

И много сейчас можно сделать на только отечественной? А если частично - тогда смысл?

anonymous
()
Ответ на: комментарий от LongLiveUbuntu

Т.е. ты добровольно поперся в оборонку?

Ну, поздравляю, товарищ мазохист! Страдай теперь…

OnlyAsk
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.