とても間抜けな話なんですけどマイコン内臓のフルカラーLED、WS2818をarduinoで制御しようと思ったらできなかった。
ようは、0bを示す、0.4usec high/0.85usec lowの信号がdisgitalWrite()関数で作れませんでした。0.4usec以上の時間がかかってしまいます。
しょうがないので、インラインアセンブラで記述しました。
そのときに初めて気がついたんですけど、arudino IDEのバックでavr-gccが動いていたんですねぇ。。。
avr-gccだと気がつけば、structが使えるしクラスも使えるハズ。
実際、使えました。(Serial.print()を見ていてクラスが使えるだろうとは思っていmたのですけど。方法が普通にC++で良かったんだと)
もちろんポインタ使えるわけで。。。
.inoに#include <Arduino.h>を付加して.cにしてavr-gccにコンパイルさせる。。。
ヘッダの中身を見てスタートアップモジュールを眺めて大体Arduinoを理解できた気がします。