バックグラウンド:
ATmega328をプログラミングしています。私は Arduino IDE に我慢できないので、コードを書くためにXcodeを使用することを好みます。ただし、Xcode を使用してスケッチを Arduino に実際にアップロードするためにオンラインで利用できるすべてのオプションは、せいぜい複雑であり、それらを実装しようとしてもうまくいきませんでした。
現在の方法:
現在私にとってうまく機能しているのは、Xcodeを厳密にデバッガーとして使用することです.Arduinoクラスの「作成」は、必要なときにArduinoクラスのバージョンを取り除いて、Arduinoに固有のコード行を入れてもデバッガーが異常にならないようにします. たとえば、Xcode プロジェクトに Serial クラスがあり、次の関数があり、問題なく動作します。
void Serial::print(int myInt)
{
cout << myInt;
}
void Serial::println(int myInt)
{
cout << myInt << endl;
}
文字列に対しても同じことを行い、出力する必要があるその他の標準C++データ型についても同様に行います。
Serial.print
このようにして、作業中の別のクラスの関数内に配置したいときはいつでも、Arduino IDE を開かずに Xcode 内から厳密にデバッグできます。pinMode
などの「偽の」クラスを作成することもできます。
問題:
byte
Arduino環境で使用されるデータ型でこれを行いたいと思います。私はこのプログラムにオブジェクト指向のアプローチを採用していますが、私の小さな Arduino の貴重な RAM を食いつぶす恐れがあります。したがって、スペースを節約するために、すべてのint
s をbyte
s などに変換しています。
char
しかし、私は、 、 またはint
、またはその他の基本型をサブクラス化できないと想定しています (そしてコンパイラが教えてくれます) 。byte a = 2
" " のようなステートメントの使用を開始する方法や、現在の (やや複雑な) 回避方法と同様のものを使用する方法がわかりません。
基本的に、私は Xcode をだまして、すべての意図と目的とbyte
同じことを考えさせたいと考えています。int
何か案は?