nlothik (nlothik) wrote,
nlothik
nlothik

Порисовал под ATMega

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

В-общем, пришёл к мнению, что чем тупее код, тем лучше он работает на таких вот вещах с ограниченными ресурсами. Это я на рабочем компьютере устраиваю себе ООП с блекджеком и шлюхами методами, свойствами, и прочие изящества, а тут старый добрый Сишный struct -- предел мечтаний.

Указатели хоть есть, и на том спасибо -- можно делать сделать связный список, даже закольцованный (как мне было надо).

Ещё интереснее будет, когда я буду пробовать сделать многозадачность без многопоточности. Тут же нет операционной системы, нет диспетчера задач и прочего. Особо упоротые, правда, пишут свою микроядерную ОС или ставят FreeRTOS, но, знаете, на двух килобайтах оперативной памяти (ATMega328P) особенно не разбежишься; да и написать свою ОС... я не настолько хорошо в эти шашки играю. Так что надо будет писать цикл, в котором все вещи делаются одновременно.

Также вылезла куча неожиданных вещей.

В частности, я хочу управлять выводом ШИМ, которых на этом чипе шесть штук. Работают они на частоте... разной, в зависимости от вывода. Ибо там внутри три таймера с разной тактовой частотой. Эту частоту менять нельзя, но можно менять делитель частоты. Начинаешь крутить делитель частоты с целью изменить частоты работы ШИМ -- ВНЕЗАПНО, замедляется течение времени, и идёт неправильный отсчёт микросекунд. Потому что от того же таймера, чей делитель крутишь, ВНЕЗАПНО, отсчёт микросекунд и работает.

В-общем, не соскучишься. Интересно.
Tags: компьютерное, программирование, техника, хобби
Subscribe

  • Размер кластера

    Интересную вещь обнаружил. Оказывается, максимальный размер кластера NTFS в десятой винде и соответствующей серверной версии (2016+) может…

  • Microsoft Linux

    Дожили. Микрософт выкатили свой дистрибутив Линупса. Называется CBL-Mariner. Брать тут: https://github.com/microsoft/CBL-Mariner Только вот по…

  • Касперыча макнули в говно

    Это восхитительно. Пакет управления паролями от Касперского в качестве источника энтропии (случайных событий) использовал местное время. В…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 14 comments

  • Размер кластера

    Интересную вещь обнаружил. Оказывается, максимальный размер кластера NTFS в десятой винде и соответствующей серверной версии (2016+) может…

  • Microsoft Linux

    Дожили. Микрософт выкатили свой дистрибутив Линупса. Называется CBL-Mariner. Брать тут: https://github.com/microsoft/CBL-Mariner Только вот по…

  • Касперыча макнули в говно

    Это восхитительно. Пакет управления паролями от Касперского в качестве источника энтропии (случайных событий) использовал местное время. В…