Задать вопрос
Ответы пользователя по тегу Микроконтроллеры
  • Чем отличаются любительские МК от промышленных?

    @Mercury13
    Программист на «си с крестами» и не только
    AVR, сердце Arduino, когда-то имел «любительские» и «промышленные» версии. Я уже не помню буквенные индексы.
    Промышленные отличались более высоким диапазоном рабочих температур.
    Сейчас их нет — выход хороших микросхем, видимо, уже достаточно большой. Нет нужды особо продавать «не-совсем-хорошие» микросхемы.
    Ответ написан
    7 комментариев
  • Какие данные приходят на устройство через COM-порт, если отправить "1"?

    @Mercury13
    Программист на «си с крестами» и не только
    Перед нами такая конструкция
    0 . 1000 . 1100 . 1 . 0 . 0101 . 0000 . 1
    Каждый байт начинается стартовым битом 0 и кончается стоповым битом 1. Передаётся, начиная с младшего бита.
    Итого два байта, 31+0A, или "1" + LineFeed.
    Ответ написан
    9 комментариев
  • Как сделать простую многозадачность на Си?

    @Mercury13
    Программист на «си с крестами» и не только
    Это называется «кооперативная многозадачность» и такая была в Windows до 3. Если задача у нас отнимает больше, чем один квант времени, есть два варианта.
    1. Собрать кванты времени в конечный автомат. Каждый из элементов этого автомата должен сам сохранять свои регистры. Поскольку задача может быть сложная, удобно делать элементы автомата элементами структурного программирования — элемент «оператор», элемент «если», элемент «дождаться»… Мне это приходилось делать на Jav’е, с похожей целью — нужна была простейшая реализация сопрограмм с возможностью сохранения-загрузки, где мы остановились. Сложнее прикладное программирование, системное вообще не нужно.
    2. Использовать функцию Yield, которая сохраняет куда-то регистры процессора, переключает стековый сегмент, определяет, кому сейчас работать, и восстанавливает регистры нового процесса. Каждый процесс поминутно запускает этот Yield. Тут наоборот — процесс наполняется Yield’ами, и всё, а архитектуру машины надо всё же знать.

    Для подобного дела есть FreeRTOS, но как она работает — я не в курсе.
    Ответ написан
    2 комментария