http://www.sophia-systems.co.jp/arm_mcuportal/search/quiz/answer.html
ARMクイズっていうのがあった。アセンブラメイン。
あとでじっくり。
2CH出力可能なDDSファンクションジェネレータが
作れないかなぁという妄想をちょっとずつ進めて
いってみる。
SPI通信をザックリ削れるのと、出力データ幅を
8ビットに限定することで、扱うデータサイズ
(テーブルとか)も小さくなるし、処理もコンパクト
に出来るので、いろいろ自由度向上。
8ビット幅だとsin波は1024個のテーブルでも最大の
分解能を表現できるので、これで済ますことに。
しかも8ビット(1バイト)幅しかないので、一式で
1024バイト。メモリは全然余ってるので、計算で
求めていた矩形波や三角波などもテーブル化しても
充分おさまるのでテーブル作って手を抜く方向に。
角速度と角度はレジスタだけでは収まらなくなるので
SRAMに格納することにすると、ちょっと速度的に
不利になるんだけど、全体的にはそれほど大きな
問題にはならんだろうと想像。
ちょっとずつ進めていこう。
MEGA164Pのデータシートを眺めてみると、SPI関係の
SFRはMEGA168やMEGA328なんかと同じように後ろに
ゼロが付かないって風になってるんだけど、インクルード
ファイルを開いてみるとゼロが付いた状態で定義されて
いるんだなぁ。
これがMEGA644PやMEGA1284Pはゼロが付いてないみたい。
164Pの定義ファイルだけバグってるのかな?まぁ
いいや。
|
|
|