Как можно легко анализировать большие программы Arduino?

У меня есть код проекта Arduino, но проблема в том, что он имеет множество функций и потоков управления.

Как преобразовать этот код в блок-схему или диаграмму потока управления?

Какое-либо программное обеспечение или веб-сайт?

, 👍1

Обсуждение

Используйте doxygen и настройте полный контроль и структурируйте графики., @Mikael Patel

Похоже, вам следует пойти другим путем — сначала создайте блок-схему, а затем напишите код для ее выполнения., @CrossRoads

Да, блок-схемы на уровне вызова функций могут быть созданы с помощью doxygen (вызовы и вызывающие абоненты). Более подробную информацию можно найти здесь: https://romanegloo.wordpress.com/2012/03/29/generating-a-callgraph-by-using-doxygen-and-graphviz-13/., @Mikael Patel

Еще один инструмент для быстрого анализа кода — Source Monitor. Позволяет использовать «статистический» подход к навигации по коду. http://www.campwoodsw.com/sourcemonitor.html, @Mikael Patel

С уважением, как это вопрос про Ардуино? Тот же вопрос можно задать практически о любой большой программе на C++., @sempaiscuba


1 ответ


2

Хотя существуют программы, которые могут автоматически создавать некоторую документацию (например, doxygen), я до сих пор не видел программного обеспечения, которое могло бы создавать ПОЛЕЗНЫЕ блок-схемы или диаграммы. Основная причина в том, что такое программное обеспечение не знает, какие части важны, а какие нет.

Чтобы сделать это вручную:

Предполагая, что ваш код содержит несколько файлов, используйте приложение UML (унифицированный язык моделирования). Тогда, если используются классы, вы можете легко перенести их в UML, в противном случае предположим, что каждый файл (.c) является «классом».

Добавляя свойства/поля и методы (функции) и рисуя зависимости между классами/файлами, вы получаете хорошее представление о том, как все работает вместе.

,

это не то, что он спросил. ему нужна автоматически созданная блок-схема, @Juraj

@Юрай ... правда, я обновлю свой ответ., @Michel Keijzers