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

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

今日のDDS

2016年10月29日 13時22分00秒 | DDS
DDSの計算式で算出する周波数と実際に測定される周波数にずれがあるので、表示用データを測定値に合わせるという荒業。



結局IchigoJamではうまく行かなかった、周波数設定用データと表示用データを別にしてトラッキング。とはいっても『大体このぐらい』という目安にしかならんけど。

周波数ステップはおよそ10Hz。シフトボタンと併用するとおよそ1KHz。これもIchigoJamではできなかった方法。

下に転がってるスイッチ類とDINコネクターは、プログラムロード用。I2C液晶を搭載して完成するまでは必需品。これやんないとLPC1114の足がすぐにもげちゃうし、生産性が低くなる。あと付け(思いつき)かつ臨時なのでLPCに直付け。


mbedは確かに楽ちんだった。

ウェブブラウザで作業できるのでプラットフォームを選ばない。WinでもFreeBSDでも同じ。ただプログラムローダーの関係でWinXPで作業してるけど。
GPIOに少々癖があるなと感じた以外は問題はなし。久々に手がけたC言語も、Delphiと同じように考えればいいので、それほど苦ではなかった。begin-endが{-}になったぐらいの違い。でもまだCの作法はわきまえてないので、無駄が多い。

今日のDDS

2016年10月29日 06時17分00秒 | PC
LPC1114を使ったDDS制御。

思考実験のプログラミングでエラーがでなくなってコンパイルできたけど、秋葉に出向くのがめんどかったのでIchigoJamに書き込んで実験しました。GPIOが思ったように使えないトラブルがあって難儀しましたが、クリスタルイヤホン(通称・測定器)で信号をトレースしながらGPIOピンを変更しつつ煮詰めました。

結果、なんとかDDSの制御が成功。ただし指定のI2C液晶がなかったので表示はカット。IchigoJamのBASICに比べるとあまりに速いので、プッシュスイッチを使う場合、プッシュONで関数を呼び出して関数内でプッシュOFFを待つか、ロータリーエンコーダを使うのが吉。

あまりに速くて周波数ステップが計算通り10Hzになっているのか1KHzになってるのがわからない😁

まとまれ一応成功。知恵を貸してくださったネットとHummer師匠に感謝。