「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



Arduino Nano Everyは、こないだから調べているように、
GPIO周りの互換性は殆ど問題が無いんだけど、色々と使う
上で欲しいタイマー割込み関係のライブラリと、せっかく
アナログ入力周りの内部回路が変わって高速ADCが可能に
なっているのに、デフォルト設定ではUnoとかと同じ
ADCの速度にしか使えないというあたり。

ADC周りは目下、SFR関係を自分で弄るなりして、高速化する
必要がありそうだなって思ってるんだけど、タイマ関係は
きっと、全世界で誰かが何とかしようと思っているだろうと
他力本願で、ちょっと待ってたところ。


で、あらためてあれこれ情報を漁ってみた。

https://github.com/Kees-van-der-Oord/Arduino-Nano-Every-Timer-Controller-B

うん。なんか、TimerOneライブラリをゴニョゴニョする
ようなものを作ってくれている人がいるなぁ。これを
使えば、メイン処理自体はTimerOneそのままで、別途
プログラム冒頭にちょこっと付け足せば、動かせる
みたいなんだよな。

これ、あとでちょっと動かして実験したいなぁ。これが
バッチリ動くとうれしいんだけどなぁ。




昨日の続きで、もうちょっと、配列の動的確保とファイル
分割周りについて、実験をしてた。

オイラの理解では、ファイル分割で変数を共有するって
いうと、

https://monozukuri-c.com/langc-funclist-extern/

こういう風にexternを使うことなんだけど、

https://qiita.com/nonbiri15/items/78f6ae4102beb03196c1

このページでは「externをヘッダファイルに書かない」
とかって記述を見かけちゃって、「え?そうなの?」
とか思って、あれこれ考えなおしてみたりしたんだけど、
まぁ、やっぱりライブラリ側に実体(実メモリを確保する
記述)を書いて、ヘッダファイルにexternを記述して
おくのが普通のスタイルだよな、と。多分、今の記述で
大丈夫っぽい。

ただ、あれこれ考えていたら、そもそもVRAMに割り当てて
いるメモリのエリアを、extern使って公開する必要なんて
あるの?と。
あれこれ要件を整理していたら、なんとなく、そもそも
VRAMのメモリをライブラリの外(メイン処理とか)にまで
公開する必要って、あるんだっけ?と。

あれこれ考えてたら、実はVRAMにアクセスする関数だけ
公開しておけば、VRAMのメモリ空間自体は公開する
必要は必ずしもないんじゃないかなぁ…と。
あと、よく考えたら、オイラのオレオレG-LCD・OLEDの
ライブラリって、描画する処理は一通り組み込んである
んだけど、VRAMを読み出す処理(大昔のBASICだと、
point関数みたいなもの…x・y座標を指定するとその場所
のドットの有無を読み出せる)とかが無かったなと気づく。

あったら便利なのかどうかは解らないんだけど、組み込む
こと自体は簡単なので、あってもいいかな…と。
そうすれば、そもそもVRAMのメモリ空間を他のファイル
に公開する必要もないんだろうと。そしたら、externが
そもそも要らない。

もうちょっとあれこれ考えてみて、ある程度まともな
ライブラリにカイゼンしておきたいなぁと、欲がでた
ところ。



コメント ( 0 )