п1: всегда следует использовать библиотечную функцию, которая будет inline и написана на ассемблере под конкретный кристалл. это повысит переносимость кода и снизит зависимость от опций компилятора
п2: см.п1
Я к тому, что эти инлайны пусть делает компилятор, используя правильные библиотеки.
Попытка написать это в Си коде может вылиться в труднодебажемыемые проблемы постфактум.
Я даже в ассемблере предпочитаю не инициализировать вручную, а полключать либу с макросами под кристалл.
Это временное явление. PIC — промстандарт для всего мира, кроме РФ, но поскольку РФ включилась в движение Worldskills, и готовится к чемпионату мира в Бразилии и подала заявку на принятие этого чемпионата у себя в 2019 году, PIC станет стандартом и у нас. Просто сейчас, обучение и соревнования по электронике в РФ проводятся в основном на AVR, а с лета придется переходить на PIC.
Всевозможные регуляторы — 1..2 аналоговых входа один цифровой выход и внутри достаточно сложная программная обработка.
Приемник для ДУ на 2-3 выхода.
Когда-то мелкие PIC-и использовали для включения/отключения устройства по одной кнопке без фиксации. При этом можно предусмотреть ограничение времени во включенном состоянии, автоматику определения внешнего питания и защиту батареи от глубокого разряда. Раньше эту функцию выполняла довольно увесистая схема на логике, сейчас 6 выводов SOT23-6 + ИОН в аналогичном корпусе(при необходимости измерения напряжения батареи, походу встроенного там нет).
При помощи расширителя портов можно еще и целую кучу светодиодов нацепить, но в таком случае конечно преимущества миниатюрности уже не будет.
Драйверы для фонариков, да.
микро-мигалку на 3-4 светодиодика и батарейки AG10, или что там еще меньше есть.
Какие-нибудь секретные электронные ключи размером меньше монетки. Может даже RFID можно будет организовать.
1. Встроенного ИОНа нет. Опорное напряжение равно питающему, и только так.
2. От одной часовой батарейки не заведется, питание от 1.8 вольта.
Я их использовал для преобразования интерфейсов (мультиплексирование UART на несколько устройств, связь по одному проводу, в симплексе), различных мелких датчиков, ИК-пультов и повторителей, как замену супервизора и т.д.
да тут даже экспериментировать не надо. Вообще, у некоторых МК гарантированный диапазон питания — от 1.8В, думаю что при соответствующем тактировании и комнатной температуре большинство экземпляров будут работоспособны и при 1.2В
Низковольтная логика не проблема — современная высокоскоростная логика и память работают уже при 0.8В вот только… проблема в том что остальной периферии нет настолько низковольтной — надо много костылей нагородить чтобы вписать такой МК в реальную разработку — всё преимущество теряется.
Ведь есть такие МК на которых делают музыкальные открытки и они прекрасно работают от 1.5В батареек.
Обрадовавшись малютке тоже побежал на свой любимый сайт, чтобы заказать. Ага, конечно. Штучно ATtiny10 SOT-6 предлагают за 500руб, за эти же деньги можно купить 20 штук ATtiny13a в SOP-8. Или один ATmega32u4 на отладочной плате (аля Arduino Micro Leonardo) за 360руб.
TSSOP-20 много больше SOT23. А так, да. У STM есть очень «вкусные» камни в 20-ногих корпусах, с интересными особенностями, вроде USB без внешнего кварца.
Контроллеров в корпусах «chip-size» и иже с ними, очень много. Тот же Freescale, выпускает камни с ethernet'ом, в корпусе 3х3 мм. У Renesas такие тоже есть. Если цели сложны, то смысл есть, но бывает, что такие мощности лишние, а цена решения на первом месте.
Большие подводные камни маленького контроллера