Search
Write a publication
Pull to refresh
442
0
Dmitry @Ocelot

Инженер-схемотехник

Send message
Основной смысл библиотек SPL и HAL — не снизить порог вхождения (хотя и это тоже), а отделить друг от друга низкоуровневую и высокоуровневую части ПО.

Хорошо, железо вы проинициализировали прямой записью в регистры. А обращаться к этому железу в процессе работы так же будете? Нужно в программе поднять ногу порта — пишем
GPIOA->BSRR = (1<<15);
в сотне разных мест. А потом понадобилось сменить ногу с 15 на 16, например. Искать все эти 100 мест в коде и менять везде? Конечно, нет. Надо написать функцию-обёртку (или макрос) для управления портом. И ещё пару для UART. И еще штуки три для таймеров. И несколько для DMA…

Вот и написали собственную библиотеку для работы с периферией. От чего убегали, к тому и пришли.
есть Protothreads, которые, при должном понимании принципов работы, запустятся на любом Си-компиляторе и не требуют «нувообщеничего» дополнительного для работы.

О да! Ключевое здесь «при должном понимании принципов работы», а вывих мозга они дают быстро и надёжно :) Важно понимать, что это не полноценный планировщик, и способов выстрелить себе в ногу просто куча.

Нужно самому следить за передачей управления: если тред застрянет в бесконечном цикле, никто его прервать не сможет. Нет полноценного сохранения контекста: забыл объявить переменную в треде как static — она сбросится. Очень сложно отлаживать: всё на макросах, и порядок выполнения кода совсем не очевиден.

А в остальном — всё просто отлично: кроссплатформенно, очень быстро, почти без накладных расходов. Инструмент для настоящих ниндзя.
«Программы» под FreeRTOS — это обычные сишные функции, они компилируются вместе с ОС в монолитную прошивку.
Тем, для кого этот материал оказался полезным, предлагаю не останавливаться на достигнутом и открыть для себя полноценные RTOS. Там есть:
— независимые процессы с возможностью задать приоритет для каждого
— таймеры (произвольное количество)
— средства межпроцессного взаимодействия: очереди, семафоры и т.д.

Например, FreeRTOS есть как под Arduino (https://github.com/greiman/FreeRTOS-Arduino), так и под голый AVR (http://www.freertos.org/AVR_IAR.html).
Литий-ионные аккумуляторы оснащены продвинутой системой мониторинга состояния.
Это побочный эффект. Заряд свинцового аккумулятора удобно контролировать по напряжению: чем ниже, тем меньше заряда осталось, почти линейно. У лития очень пологая кривая разряда с резким провалом в конце, и такой подход уже не работает. Приходится делать более сложный измеритель заряда, который интегрирует ток и считает напрямую ампер-часы. Чтобы не накапливалась погрешность, контроллер батареи периодически калибруется по напряжению. Плюс еще литий очень не любит перезаряда и переразряда, так что приходится следить не только за всей батареей, но и за каждой ячейкой по отдельности.

В результате имеем просто кучу информации о состоянии батареи. Но эту информацию контроллер собирает по необходимости, просто чтобы нормально обслуживать батарею. Никто не мешает прикрутить аналогичный контроллер к свинцовому аккумулятору, но раз можно обойтись более простым — так и делают.
Развиваем идею! Надо снять несколько десятков кадров за весь сеанс, на обычный фотоаппарат. А потом сделать нейросеть, которая по этим кадрам восстановит весь фильм. Достаточно велик шанс, что кино получится даже интереснее оригинала.
И можно ходить в кино загорать :) А камера УФ и так не видит.
Зечем такие извраты, если QFN нормально паяется феном?
«Расстреляли меня тогда, внучек, расстреляли.»
>насколько сложно обмануть купюроприёмник. Чисто теоретически :)
Не очень сложно. Чисто теоретически :)
Разбираем купюроприемник и смотрим, какие там датчики и сколько. Если несколько дискретных датчиков — нам повезло, достаточно имитировать несколько узких полосок банкноты. Если полноразмерная фотолинейка — уже сложнее, значит считывается вся банкнота целиком.
Пропускаем настоящую банкноту. Поочередно закрывая на ней разные участки, смотрим, какие из них критичны для валидатора, а какие — нет. Затем делаем обманку, постепенно заменяя участки банкноты на самодельные, которые также будут проходить валидацию. По одному. Методом проб и ошибок. Терпеливо.
Расположение датчиков отличается в разных моделях, так что подделка будет заточена под один конкретный купюроприемник. Нет, можно сделать и универсальную, но это гораздо сложнее.
>известен ли точный алгоритм работы?
Нет, обычно точный алгоритм работы валидатора держат в секрете

>Обновляется ли прошивка купюроприемников с выходом новых купюр?
Да, обновляются.

>судя по скорости проверки (около секунды) — сильных заморочек по проверке там нет.
Секунда — это просто дофига времени для машины, можно очень много всего проверить.

>Больше купюры с магнитом носить не буду
Носите на здоровье, ничего там не сломается. На купюрах нет магнитной полосы, которую можно стереть размагничиванием. Информация кодируется участками с наличием и отсутствием магнитной краски.

Была в своё время подробная статья про всё это: https://habrahabr.ru/post/185806/
Нет, эффект обратный. На экваторе объект находится дальше от центра Земли. Если проинтергрировать по всем кусочкам Земли, то сила получится меньше, чем на полюсах, из-за того, что эти кусочки в среднем дальше.
Смотрите другой магазин. Efind — это же просто поисковик.
Вон в Контесте тиньки по 30 рублей и минимальный заказ 500р
Есть по 37 р в розницу (и 30 — мелкий опт) efind.ru/icsearch/?search=attiny13a
И чтобы два раза не ходить, АРМы по 60 рублей: efind.ru/icsearch/?search=stm32f030
«сцепление выжимается рукой и ногой» — и пожалуйста, можно стоять.
Да, эксперимент вполне в духе Креосана. Тут даже постоянный ток не нужен: выкинуть стартёр, дроссель, воткнуть лампу напрямую в сеть и зажечь электрошокером.
Это ужасно неэффективно. В город пришла ЛЭП напряжением 110кВ, а потребители хотят 0.4кВ. Значит, 96.4% мощности придётся погасить на резисторах, и только 3.6% передать в нагрузку.

>тепло перегонять в энергию
Проще тогда сразу электростанцию на месте построить и никуда электроэнергию не передавать.
Ля — это 440 Гц. А трансформатор — где-то между соль и соль-диез фальшивит.
даже на 50 Гц ток вытесняется к поверхности проводника.
На килоамперных токах этот эффект может и заметен, в бытовой проводке — нет.
Провода делают из множества проволок.
А попробуй-ка цельный прут согни!
Это для снижения потерь на коронный разряд.

Information

Rating
Does not participate
Registered
Activity