rftgyふじこlp:今は反芻している…JP1NOM

のんべんだらりと生きてしまいましたよ。

今日のDDS

2016年10月25日 07時32分00秒 | DDS
unsigned int ShiftOut = FreqDiv;
unsigned int TestOut = FreqDiv;
char i = 0;
for(i=0; i<32; i++) {
TestOut = ShiftOut & 1;
if(TestOut==1) {
_sdo = 1;
} else {
_sdo = 0;
}
_clk = 1;
ShiftOut = ShiftOut >> 1;
_clk = 0;
}
ShiftOut = FortyBitWd;
for(i=0; i<8; i++) {
TestOut = ShiftOut & 1;
if(TestOut==1) {
_sdo = 1;
} else {
_sdo = 0;
}
_clk = 1;
ShiftOut = ShiftOut >> 1;
_clk = 0;
}
_len = 1;
_len = 0;
}

mbedのライブラリから抜粋。
LPC1114でAD9851を制御する場合の核心部分。
(スペースを無視して表示するのは何とかならんのか?)

Delphiだと多少はわかるのだが、Cだとサブルーチンの使い方が良くわからん。考え方は同じだろうけど、Cの教科書を読み直すか。コンパイラが優秀なら同じルーチンをサブルーチン化してくれるのだろうけど、mbedがどんなコンパイラだかわからん。

冒頭に引用した処理はサブルーチン化しないと同じ処理を四回書かないといかん。

最新の画像もっと見る

コメントを投稿