
Данный алгоритм позволит вычислить день недели по дате, с учетом високосного года. Это может быть полезно для установки часов, чтобы пользователь явно не указывал день недели.
Алгоритм написан на языке программирования Си.

Данный алгоритм позволит вычислить день недели по дате, с учетом високосного года. Это может быть полезно для установки часов, чтобы пользователь явно не указывал день недели.
Алгоритм написан на языке программирования Си.
В микроконтроллерах серии STM32F10x (например, STM32F103C8T6 из популярной BluePill) есть часы реального времени, они "тикают" от батарейки после того, как пропадает основное питание. Но в этих RTC нет аппаратного календаря. Это значит, что дата "не идёт". Даже если вы в своем HAL проекте установили галочку "activate calendar", это значит, что дата будет "идти" при наличии основного питания, но после прекращения питания ДАТА СОБЬЕТСЯ до 01.01.00. Это плохая новость... Хорошая новость в том, что на HAL'е мир не сошелся клином. И мы сделаем полноценные часы реально времени с датой на CMSIS.
(обновление статьи 03.05.2024)
В такой нагруженной системе важна аккуратность. У меня на столе STM32F407VET6 со 128 кБ SRAM и 512 кБ FLASH. И на ней реализован Modbus TCP/IP, Modbus RTU RS485, Modbus RTU RS232, +CAN шлюз. Под FreeRTOS работают LwIP, FATFS. Для начальной "завязки" необходимо выделить память
Со временем постепенно можно увеличивать или оптимизировать эти значения, менять количество PBUF'ов, NETCONN'ов, размер стека задач и т.д. Но я привел значения, при которых минимальный объем задач FreeRTOS с остальными стеками, работающими одновременно, будет выполняться без глюков.
Подробнее: STM32F4 Работа с Flash SDIO (MicroSD) под FreeRTOS
Принципы чтения и записи FLASH памяти в STM32F0 мало чем отличаются от подобных принципов для других семейств. Описываемый далее метод так же неплохо работает и в STM32F1 (проверено на STM32F103C6T6A). Библиотека HAL позволит унифицировать знания, то есть пользоваться функцией стирания/записи можно аналогично, независимо от модели микроконтроллера.
Первое, что стоит хорошо понять:
Подробнее: STM32F0 using FLASH HAL (запись чтение системной FLASH)
Когда стоит задача дизайна PHY для Ethernet, мы обращаемся к Reference manual производителя. В нем достаточно подробно рассказывается о том, что можно делать, а чего делать нельзя. Но идеальные условия могут не устраивать нас по ряду причин, в таком случае мы не знаем, что делать можно, чем позволено пренебречь и в каких пределах. Эта статья позволит оценить поведение LAN8742A в рамках бюджетных проектов, где используется двухсторонняя печатная плата, что безусловно уже является серьезным допущением.
Как сохранить работоспособность устройства, при этом не заваливая EMI тест устройства. Как оценить по косвенным признакам, работает физика нормально или нет. Далее в этой статье.