メニュー液晶を持つ写真どうやって?

G

Guest

Guest
こんにちは皆、

私はyoutubeからビデオでこのようないくつかの機能¥を持つメニューを作成します。

http://www.youtube.com/watch?v=1WKLJ1P2Uwo&feature=related

私はアイデアを持っていない、私をお手伝い誰かが?

感謝
エルソ¥ン

 
これは、作成してください非常にする必要があります簡単に
しかし、液晶か、あなたが知っている情報写真
どのような言語CたりASMをpicbasic必要に応じ使用

 
こんにちはWizpic、

私が始めているが、私がほとんど知識をCの上の写真は、液晶、私のiプログラムのプロジェクトを既に行った多くの家族、マイコンのこのアセンブラと学習私もだけど、私はメニューを午前、このよう懸命にgetingいくつかのサブメニューの中。
これは、このようなものになるだろう。

メインメニュー

機能¥1
設定のX
yを設定

機能¥2
チェックイ
チェックのX

機能¥3
...
...

再びありがとうございます
エルソ¥ン

 
ポストについてこの液晶を見て私がコーディングする場合することが示唆さ:

ftopic329090.html

さようなら
捕虜

 
ハイ
メニューを作成は簡単ですかなり。を作成のメニュー配列)構¥造体(レコード。このようになります構¥造:

typedefは構¥造体

文字LcdString [20]; / /何表¥示する
文字MenuIndex [2];が含まれてインデックス'/ /サブ'メニュー- 0がない場合、サブメニュー
文字サイズ[2];メニューが値を/ /を示しますでどのように多くのエントリがこのメニューのトップへのみセクション-各-他= 0
他の変数として.....必要
)MenuRec_t;レコードに次/前の動きを押すと矢印場合上下。インデックス@メニューのサブにジャンプした場合入力が押されました。他の変数が選択されてエントリが渡さできることに切り替えるにはメニュー一この必要がある場合何が起こるか/ケース文を決定します。明らかに、開始する方法を取得さかなりの私が考えではないと説明したが、あなたを与える、これが必要

 
あなたはステートメントスイッチを使用してFSMの(有限ステートマシン)谷を実装することができますしてください。ために構¥造をメニューに役立つ描画コードを書くと状態のメニューを識別する各。
リンク情報を詳細に利得、この視線を〜アジ取る:

http://en.wikipedia.org/wiki/Finite_state_machine

ある構¥造であり、また、自動の観点から視覚的コードをgenerate CのためのツールができるFSMのメニュー添付を見てな例を与える場合に、生成されたコードが生成コードのいずれか(このいくでしょうHFSM Editor free FSMの
http://robertolanuza.tripod.com/fsm/fsm.htm )。
に例のオプションを下のメニューの選択を実行私はOKをを構¥造体への移動トラフをメニューキーの矢印をしたはずを使用します。

コード://

/ /自動は、アプリケーションによってCコードを生成:

/ / HFSMエディタv1.4r3

//

/ /方法:階層スイッチケースの状態。
[v1.5r1]

//

/ /エクスポート機能¥:無効FSM_0001(ボイド);

// //

/ /初期化は、ユーザー(スタート)を提案。

/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

キーは==左/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

/ /初期化は、ユーザー(エンド)が提案した。

// //

/ /エントリのフラグ(スタート)。

/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - / / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

/ /エントリのフラグ(終了)。

// //

/ /自動初期化(スタート)。

/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

/ /米国のインデックス。

#))は0をi_STATE_1を((T_u8定義

#))1 i_STATE_2を((T_u8定義

#))2 i_STATE_21を((T_u8定義

#))3 i_STATE_22を((T_u8定義

#))4 i_STATE_3を((T_u8定義

#))5 i_STATE_31を((T_u8定義

#)6)i_STATE_32を((T_u8定義/ /インデックス変数。

静的T_u8 ind_FSM_0001 = i_STATE_1;/ /マクロ&関数。

初期状態に/ /強制的にFSMの。

#()(FSM_0001_Initを定義ind_FSM_0001 = i_STATE_1;)/ /これは歴史のFSMではありません。

#_FSM_0001_Initを()(FSM_0001_Init()を定義/ *お子様連れ:* /)/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

/ /自動初期化(終了)。

// //

/ /ローカルの子機能¥(スタート)。

/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - / / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

/ /ローカルの子機能¥(エンド)。

// //

/ / FSMのディスパッチャ関数OSによって呼び出される

//

無効FSM_0001(ボイド)



/ /次の状態の分析。

スイッチ(ind_FSM_0001)(

ケースi_STATE_1:

/ /ステートアクション(ムーア)。

WriteLCD("ようこそ!");

/ /次の状態を選択します。

(キー==ダウン)(場合

/ /次の状態にポインティング。

ind_FSM_0001 = i_STATE_2;



休憩;

ケースi_STATE_2:

/ /ステートアクション(ムーア)。

WriteLCD("Menu1");

/ /次の状態を選択します。

(キー==開く)(/ / [1]します。

/ /次の状態にポインティング。

ind_FSM_0001 = i_STATE_1;

する)else if(キー==右)(/ / [2]。

/ /次の状態にポインティング。

ind_FSM_0001 = i_STATE_21;

する)else if(キー==ダウン)(/ / [3]。

/ /次の状態にポインティング。

ind_FSM_0001 = i_STATE_3;



休憩;

ケースi_STATE_21:

/ /ステートアクション(ムーア)。

WriteLCD("サブメニュー1");

/ /次の状態を選択します。

(キー==左)(/ / [1]します。

/ /次の状態にポインティング。

ind_FSM_0001 = i_STATE_2;

する)else if(キー== [OK]を)(/ / [2]。

/ /次の状態にポインティング。

ind_FSM_0001 = i_STATE_22;



休憩;

ケースi_STATE_22:

/ /ステートアクション(ムーア)。

ExecuteSubMenu1();

/ /次の状態を選択します。



/ /次の状態にポインティング。

ind_FSM_0001 = i_STATE_1;



休憩;

ケースi_STATE_3:

/ /ステートアクション(ムーア)。

WriteLCD("Menu2");

/ /次の状態を選択します。

(キー==開く)(/ / [1]します。

/ /次の状態にポインティング。

ind_FSM_0001 = i_STATE_2;

する)else if(キー==ダウン)(/ / [2]。

/ /次の状態にポインティング。

ind_FSM_0001 = i_STATE_1;

する)else if(キー==右)(/ / [3]。

/ /次の状態にポインティング。

ind_FSM_0001 = i_STATE_31;



休憩;

ケースi_STATE_31:

/ /ステートアクション(ムーア)。

WriteLCD("サブメニュー2");

/ /次の状態を選択します。

(キー==左)(/ / [1]します。

/ /次の状態にポインティング。

ind_FSM_0001 = i_STATE_3;

する)else if(キー== [OK]を)(/ / [2]。

/ /次の状態にポインティング。

ind_FSM_0001 = i_STATE_32;



休憩;

ケースi_STATE_32:

/ /ステートアクション(ムーア)。

ExecuteSubmenu2();

/ /次の状態を選択します。



/ /次の状態にポインティング。

ind_FSM_0001 = i_STATE_1;



休憩;



)//

/ /エンディングコードは、ユーザー(スタート)を提案。

/ / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - / / - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

/ /エンディングコードは、ユーザー(エンドによって提案さ)。

//

//

自動生成されたCコードの/ /終了します。

//

 

Welcome to EDABoard.com

Sponsor

Back
Top