Часы реального времени (Real-Time Clock, RTC) в контроллерах STM32 реализованы в двоично-десятичном коде (BCD-формат). Для хранения даты и времени в таком формате необходимо по крайней мере 5 байт памяти. Существуют случаи, когда место, отводимое для хранения метки времени может стать критичным, например, в случае ведения журнала событий в энергонезависимой памяти микроконтроллера, где объём памяти, выделяемый под всё событие (номер события, его временная метка, параметры и контрольная сумма) может составлять всего 16 байт. При меньшем объёме памяти фиксируемого события достигается максимальное число хранимых событий в журнале и уменьшается время на операцию записи одного события, что критично для резервных источников питания (ионисторы, электролитические конденсаторы) в случае пропадания основного питания микроконтроллера. Простейшим способом увеличить объём памяти под полезную информацию при фиксированной длине массива является применение алгоритма упакованного времени. Для этого зна
Вариант использования упакованного формата времени в STM32
17 августа 202117 авг 2021
226
2 мин