Уважаемые коллеги!
Хочу поделиться результатами своей работы надо проектом STM32 PLC. Задача была довольно простой - максимально использовать ресурсы, имеющиеся на китайской синей плате с процессором STM32F103C8T6.
Сразу скажу - увы, исходных кодов нет и скорее всего, не будет в открытом доступе. Материалы, которые тут опубликованы - для ленивых, как я. То есть прошил, подал питание и используй.
Немного описания:
Построена прошивка на основе операционной системы реального времени - ChibiOS RT.
Имеется 8000 шагов исполнения программы. Да, пришлось использовать резервные 64к flash - но было просто грешно их не задействовать. В версии, которая тут опубликована, доступно 250 шагов - для тестирования этого количества вполне достаточно.
Область регистров имеет размер 2048 регистров. Из них первые 9 шт сохраняют свои значения при питании от батарейки.
Часы реального времени - да, PID -да, индексная адресация реализована не полностью.
Имеется две шины modbus RTU - обе независимые, поддерживают режим и мастера, и слейва. Также имеется мастер шины 1-wire. В данной версии поддерживается по 2 слейва для каждой шины в режиме мастера. Режим слейва не имеет никаких ограничений. Всё шины имеют реализацию на DMA.
Программирование как по USB, так и по любому из последовательных портов в режиме слейва modbus RTU.
Аналоговых входов нет, выходов тоже нет.
Публикую ссылку на проект - размер архива 4МВ, а вложение имеет ограничение 1МВ.
Ссылка на github