如何使用Code :: Blocks调试Arduino文件?

时间:2015-02-06 15:56:12

标签: c++ arduino codeblocks

我正在开发一个Arduino项目,我确实需要在我模拟传感器读取的测试环境中进行测试。我在c ++中这样做,我用c ++编写了一个(非常粗略的)项目端口。在Code :: Blocks中工作并使用mingw进行编译

一切正常但我无法调试它,因为Code :: Blocks / gdb无法将.ino文件识别为正确的源文件,因此它不会在断点处中断。为了调试代码,我需要将代码复制并粘贴到main.cpp

之前

#include "..\finestra\finestra.ino"


int main()
{
    setup();
    while(counter < 540) loop();
    return 0;
}

[my whole Arduino source pasted here]


int main()
{
    setup();
    while(counter < 540) loop();
    return 0;
}

这有点不舒服

两个问题:

  1. 如何告诉Code :: Blocks / gdb,finestra.ino是一个要作为cpp文件处理的源文件?
  2. 是否有更好的解决方案来测试和调试我的Arduino代码?

1 个答案:

答案 0 :(得分:0)

没人?

我正在回答任何可能在将来需要这件事的人。

我尝试这样做的事情是这两件事:

  1. 有一个Code :: Blocks的分支被认为可以处理Arduino。主页为http://arduinodev.com/codeblocks/。所有需要的工具都应该在那里(我仍然需要彻底尝试)。您需要在同一台计算机上安装第二个Code :: Blocks IDE,但这是一个合理的权衡
  2. 我将gdb.exe更新为7.7版。使用.ino文件中的断点确实有效,即使不完美(程序在断点处停止但没有显示你的位置,你必须在日志中找到它,这有点不舒服,但至少它有效!)
  3. 无论哪种方式都可以调试,但有缺点