1: 2011-07-04 (月) 12:55:57 yoshida | 2: 2011-07-04 (月) 13:53:38 yoshida | ||
---|---|---|---|
Line 25: | Line 25: | ||
取り込んだ値を表示したりするにはfd_printfを使います。 | 取り込んだ値を表示したりするにはfd_printfを使います。 | ||
+ | |||
+ | *課題 [#r9763b8b] | ||
+ | #ref(Warning_k1.png,100%) | ||
+ | Chapter2.3, 2.4を参考に「''音センサに反応があったらブザーを鳴らす''」という方法でプログラムを書いてみましょう。~ | ||
+ | また、Chapter2.1で紹介した本キットの機能を使って、自分で考えた装置の制作にもチャレンジしてみましょう。 | ||
+ | |||
+ | ヒント~ | ||
+ | -音量センサの値はAX-S1のアドレス35 | ||
+ | -音量センサの値は128を中心に音がすると音量に応じて上下に揺れる(詳細は[[AX-S1コントロールテーブルのSound Data>AXS1CNTLTBL#a9725398]]を参照して下さい) | ||
+ | #ref(Warning_k2.png,100%) | ||
+ | |||
+ | *補足 [#g9696541] | ||
+ | **プログラムの終了 [#h32fa325] | ||
+ | プログラムを書き込むには一度ブートローダのコマンドモードに入らなければなりません。ブートローダのコマンドモードに入る方法として、これまでプッシュボタンを押しながらUSBケーブルを接続するという方法をとっていましたが、毎回USBケーブルを抜き差しするのは面倒です。~ | ||
+ | そこでUSBケーブルを抜き差ししないでブートローダのコマンドモードに入る方法を紹介します。~ | ||
+ | ブートローダのコマンドモードに入るのは簡単で、プログラムを終了するだけです。~ | ||
+ | #ref(gcc_edit_3.png,100%) | ||
+ | [[while>FDIIICHAPTER1.4#o8733fa9]]文は()内の条件が成り立っている間は処理を繰り返しますので、while (true) で無限に処理を繰り返していましたが、プログラムを終了するため、条件を設定します。~ | ||
+ | [[fd_rx_buff ()>FDIIILIB#c1552bcf]]はキーボードからの入力の有無を確認し、[[fd_GetPB ()>FDIIILIB#pfa91195]]はプッシュボタンの押下を検知します。~ | ||
+ | それぞれの関数の前に[[!>FDIIICHAPTER1.4#seea64bd]](エクスクラメーションマーク)を付けていますので、これで戻値を反転しています。つまりwhileの条件はキーボードからの入力がなければ、プッシュボタンが押されていなければ、となります。~ | ||
+ | [[&&>FDIIICHAPTER1.4#seea64bd]]で連結されていますので、whileの条件はキーボードからの入力がなく、かつプッシュボタンも押されていない、となります。~ | ||
+ | これはSIMPLE TERM上でキーボードからどのキーでも良いので入力するか、プッシュボタンを押すとプログラムが終了するということです。~ | ||
+ | プログラムが終了すれば、ブートローダのコマンドモードに入り、新たなプログラムの書込みが可能となります。~ | ||
+ | |||
+ | これによりプログラムを書き込むたびにFDIII-HCの電源をON,OFFしたり、USBケーブルを抜き差しする手間が省けます。~ | ||
+ | 書き込んで試してみて下さい。 | ||
+ | |||
+ | [[FDIII-HC Learning Guide>FDIII-HC Learning Guide]]へ戻る。 |