アーカイブ

2010 年 8 月 30 日 のアーカイブ

Spec For Mintia(17) MP3プレーヤーその3

2010 年 8 月 30 日 コメントはありません

ここまでのコード移植で、
絵も出て音もなるようになった。

ひとまず、原状回復と言ったところか。
ファイル名は相変わらずテーブル持ちだけど。

そうすると、次は入力関係、UIですな。

試作の時点では基本的に無視していたので、ここからは書き起こしになる。

まず、スイッチ入力。
まあ、タイマーリモコンを作ったときに基本的なキー入力処理関数の構成は決まっているので
それを持ってくるところから。

今回のキー入力は、
 シングルクリック、ダブルクリック、長押し
                           とした。

シングル
 一定時間(T1)、ON状態を維持し、最大待ち時間(T0)以内でOFF状態になり、
 なおかつ最大待ち時間が経過するまでOFF状態が変化しなかった場合を「シングルクリック」として扱う。

ダブルクリック

 一定時間(T1)、ON状態を維持し、最大待ち時間(T0)以内でOFF状態になり、
 なおかつONだった時間(T1)の4倍の時間が経過するまでに再度ONになり、
 その状態が初回の(T1)と同等もしくはそれ以上の時間継続、後にOFFになり、
 その状態が(T1)の4倍の時間が経過するまで変化しなかった場合を「ダブルクリック」として扱う。

長押し

 ON状態になり、最大待ち時間(T0)を超えてその状態が継続、後にOFFになった場合を
 「長押し」として扱う。

うわwww文章で書くのが難しすぎる。
図で考えてたんで、なんとかコードになった感じ。

今回のプログラムで一番難しかったのはこの辺だね。
デバック環境を用意せずに盲目デバック。
いちいちUSART環境を作るのがめんどい。

まあ、これとは別に、再生やら一時停止やら、その他機能に関する処理があるんだけどね。
これもこれで、構造的にちょっと面倒。

なので
つづく。
 
 

カテゴリー: PCB, Project, 電子工作 タグ: