【发布时间】:2013-01-17 22:57:03
【问题描述】:
背景:
我正在编写一个ATmega328。我受不了 Arduino IDE,所以我更喜欢使用Xcode 来编写代码。但是,我发现使用 Xcode 将草图实际上传到 Arduino 的所有在线选项充其量都是令人费解的,并且在尝试实现它们时没有成功。
当前方法:
目前对我有用的是严格使用 Xcode 作为调试器,并在我需要时“创建”精简版本的 Arduino 类,这样当我输入特定于 Arduino 的代码行时调试器就不会崩溃.例如,我的 Xcode 项目中有一个 Serial 类,它具有以下功能,可以正常工作:
void Serial::print(int myInt)
{
cout << myInt;
}
void Serial::println(int myInt)
{
cout << myInt << endl;
}
我对字符串以及我可能需要打印的任何其他标准 C++ 数据类型执行相同操作。
这样,每当我想将Serial.print 放在我正在处理的另一个类的函数中时,我都可以在 Xcode 中严格调试,而无需打开 Arduino IDE。我还可以为pinMode 等创建一个“假”类。
问题:
我想使用 Arduino 环境中使用的 byte 数据类型来执行此操作。我正在对这个程序采用面向对象的方法,它可能会耗尽我的小 Arduino 上宝贵的 RAM。所以,为了节省空间,我将我所有的ints 转换为bytes 等等。
但是,我假设(我的编译器告诉我)我不能继承 char、int 或任何其他基本类型。我不知道如何开始使用诸如“byte a = 2”之类的语句或与我当前(有些复杂)解决方法类似的语句。
基本上,我想诱使 Xcode 认为 byte 与 int 在所有意图和目的上都是一样的。
有什么想法吗?
【问题讨论】: