Программный таймер. Применение HAL

Сначала небольшая предыстория. Пользовался я раньше, значит, только прAVRославными контроллерами, да команды им посылал исключительно на богоугодном ассемблере. Все бы хорошо, но с портируемостью у асма, как известно, есть проблемы. В большинстве случаев, перенос какого-то куска интеллектуального труда с одного камня на другой подразумевал написание с нуля этого самого куска, но в реалиях периферии текущего мк. Вроде бы и несложно, да и обычно не особо напряжно, но как всегда есть НО. Проснулся интерес у меня к STMовским камням — обилие вкусной периферии плюс интересные цены прельщали (речь идет о STM8 и STM32). Вот тут-то я и задумался о том, что тут пора вспоминать С, да и изобретать свои велосипеды кроссплатформенно. Ибо каждый раз переписывать какое-нибудь типовое программное решение под другую архитектуру или модель контроллера, возможно и полезно с точки зрения тренировки и оптимизации, но грустно с точки зрения потраченного времени и сил. Такие вот дела.

А начал я, как следует из заголовка, с самого простого и необходимого модуля — программных таймеров.


Читать дальше