Лучшая практика кодирования для крупных государственных проектов Arduino. - PullRequest
0 голосов
/ 26 июня 2018

Я пришел из PC / C # фона и заметил, что по мере увеличения сложности моих проектов arduino они становятся грязными и им не хватает общего шаблона.

Мои проекты на C # всегда очень жестко структурированы, но поскольку C не является ООП, я изо всех сил стараюсь применять те же принципы.Например, я хочу установить несколько источников света, чтобы они мигали определенное время, а затем выключить.Это было бы легко в C #, но все решения в C, которые я видел, включают беспорядок проверки таймеров каждый раз через цикл.

Итак, мой конкретный вопрос: есть ли для этого какие-либо устоявшиеся практики программирования на С, и если нет, то какой будет хороший ресурс для изучения такого рода вещей?

1 Ответ

0 голосов
/ 26 июня 2018

У вас есть два вопроса.

1) Относительно структуры кодирования

Если вы работаете с голыми металлическими конструкциями, самый простой шаблон проектирования is State Machines .Иногда сложность проекта слишком велика для этого, тогда вам стоит заглянуть в RTOS .

Даже если Arduinos основаны на AVR, я рекомендую заглянуть в код библиотеки ARM CMSIS.Для меня то, как он обрабатывает карту памяти со структурами, было поучительно.

2) Относительно мигающих светодиодов.

Если вы используете циклы while, и это былоне ваш первый проект, вы, вероятно, делаете это неправильно.Вы должны посмотреть на аппаратные прерывания .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...