作業日誌 目次 domaeへのコメント†
記事についてのコメントは記事ごとに置いてあるコメント欄を使ってくださいまし。 09/07/05(日)†microSDでHello World†久々の更新です。えへ。 PSoCでmicroSDに何か書き込んでみるテスト†PSoC29466の中にあるSDCardモジュールを使ってmicroSDに「Hello World」を書き込んでみる。 最初はmicroSDのソケットを使っていたのですが、うまくmicroSDが認識されなかった(たぶんうまくピン接続されてない)ので、 ちなみにmicroSDとPSoCの接続方法やPSoCのピンの設定方法はSDCardモジュールのデータシートに載ってます。 ↓結果はこちら これだけ書き込むのに約3秒かかりました。 08/10/27(月)†YMZ294への挑戦 03†中途半端なところで止まってたので今更だけど更新(汗) PSoC CY8C29466との出会い†PSoCの29466を使ってYMZ294さんを操ってみる。 29466とYZM294を↓のようにつなぐ。
P1[0]〜P1[3]のそれぞれについて'0'か'1'を出力する関数を先に用意しておく。 void wr_low() { PRT1DR &= ~0x03; } void wr_high() { PRT1DR |= 0x03; } void a0_adr() { PRT1DR &= ~0x04; } void a0_dat() { PRT1DR |= 0x04; } void ic_rst() { PRT1DR &= ~0x08; } void ic_set() { PRT1DR |= 0x08; } (参考にしたサイト) 次にアドレスとデータを指定してデータを送る関数を作る。 void ad_set(BYTE adr, BYTE dat) { // [1]address input PRT2DR = adr; // [2]address write enabled(/WR=0, /CS=0, A0=0) a0_adr(); wr_low(); // [3]address write disabled(/WR=1, /CS=1, A0=0) wr_high(); // [4]data input PRT2DR = dat; // [5]data write enabled(/WR=0, /CS=0, A0=1) a0_dat(); wr_low(); // [6]data write disabled(/WR=1, /CS=1, A0=1) wr_high(); } あとはこの関数を使ってレジスタのアドレスを指定してデータを送ってあげればYMZ294を自由に操ることができる。 ノートオン/ノートオフ†楽音の周波数を設定して出力する関数 (音程の設定で参考にしたサイト) ついでにノートオフ(鳴ってた音を止める)の関数 タイマを使って演奏する†Tick(分解能)を48に設定して、タイマ割り込みで変数ticの値を増やすことで曲を演奏する。 あとはticごとに↑で作ったtoneとnoffを置いていけばMMLのように譜面を作って演奏することができる。 ピコピコ音楽†早速某ヒゲの人の音楽を打ち込んで演奏してみました♪ おおお!これだ!これが聞きたかったんだ!!(T▽T) 演奏の仕方など人それぞれのやり方があるみたいですが、 PSoC君ともだいぶ仲良くなれた、と思います(^^; 興味のある方は是非挑戦してみては? 08/07/23(水)†PSoC First Touch 03†タイマ割り込み†タイマーを使うときの流れ 定期的にLEDの明るさを変えることに成功。 またTimer_PeriodWrite()を用いれば途中で割り込みの間隔を変更できるみたいです。 YMZ294への挑戦 02†レジスタ機能†全機能は内臓されるレジスタによって制御されます。 データシートがボロボロになってきたので、、、以下、自分用のメモ。 1. 楽音周波数の設定($00〜$05) 3チャンネル(#A、#B、#C)の楽音発生器で作られる矩形波の周波数ftを決める。 2. ノイズ音周波数の設定($06) ノイズ発生器で作られるノイズ音の周波数fnを決める。 3. ミキサーの設定($07) 各チャンネル(#A、#B、#C)毎に楽音およびノイズ音を出力するかを設定する。 4. 音量コントロールとDAC($08〜$0A) 各チャンネル(#A、#B、#C)の音量を設定する。 (まだエンベロープを使用したことがないのでとりあえずここまで。のちのち追加します) 08/07/23(水)の記事へのコメント†
08/06/27(金)†PSoC First Touch 02†前回からかなりたってしまったけどいつも心はPSoC君とともに。 CapSenseで遊ぶ†チュートリアル通りやってみたところ問題なくできました。 とりあえず応用編としてスライダの左側(CSB7)にいくほど青、右側(CSB1)にいくほど赤になるようにしてみました。 しかし、スライダから指を離すと青色に戻ってしまったので次のように少し改良。 するとこの通り指を離しても好きな色で光らせることができました。 MEMO:
YMZ294への挑戦 01†マイYMZ294とご対面†(上からオシレータ(4MHz)、YMZ294、ソケット) 秋月にてYMZ294を購入してみました。 YMZ294について†
端子配置と端子機能†↓外見(18pin) 太く描きすぎました(^^; ↓各ピンの説明
さて、困ったことにデータバスや制御信号用のために最低12本以上のピンが必要です。 PSoC First Touchでは…。ちょっと厳しそうです。。。 そこでこのYMZ294さんのパートナーを探してます。 今のところ目をつけているのはこのCY8C29466です。 28PinでディジタルI/Oとして使用できるピンが8bit×3グループ分(P0、P1、P2)あります。アナログ入力として使えるピンもあるみたいです。 また、PSoCのモジュールも有効利用できないか検討中。
とりあえずここまで。レジスタ機能の説明については次回に。 08/06/27(金)の記事へのコメント†
08/05/29(木)†PSoC First Touch 01†PSoC入門:PSoC First Touch編 をやりつつ、PSoC君との距離を少しずつ埋める・・・(未来日記) LEDと光センサ†今のところ例題1まで。ここまで特に問題なし。 1つのPWM8で赤と青のLEDを点灯してみました。 明→赤、暗→青。部屋の中では赤:青=3:7くらいでしょうか。適度な明るさ、かな。 次はCapSenseで遊ぶつもり。→のちのち使えそうなのでしっかり遊ぶ。 書き込み器からの独立†今流行っている(?)PSoC君の書き込み器からの独立を試みる。
写真の通りうまく独立できました。 欲をいうならsenda君みたいに電源のスイッチつければよかったorz MEMO: 今後のこと(チャレンジしたいこと)†僕はゲームミュージックが大好きだ! とはいうものの、 ゲームミュージックの基礎の基礎といえるファミコン音源についてはあまり知りません。 そこで、実際にその"音"を聞いてみたい!(特にノイズ音) さらには実際に演奏してみたい!! というのがささやかな願いだったりします。(100%趣味ですが) とりあえず今はマイコンのお勉強と以前akita先生に教えてもらったYMZ294について調べてます。 MEMO: 08/05/29(木)の記事へのコメント†
|