.Net Micro Framework-最初のステップ

ティーザーは保守的に、しかし積極的に知覚されたので、続けましょう。



こんにちは、Habr!



そのため、ボックスは開梱され、ボタンは突かれ、起動時にデバッグ出力にプッシュされました。 かっこいい! 鉄片が機能します。



一方、彼女は有用なことを何もしていません。





始めるには何が必要ですか?







IDE、SDK、およびハードウェアのプライマリファームウェアのインストールについては説明しません。 最初の2つでは、すべてが明確になっていますが、ファームウェアは特定の問題であり、製造元によって十分に説明されています。



培地は準備されていますか? 行こう!





免責事項:私の手で初めての組み込みプラットフォーム。 開発経験はありません( hackaday.comを表示してwasm.ruを読むだけでは十分ではないと思います)。 あいまいなアイデアしかありません。 しかし、C#で書いた経験があります。 あなたが重度のAsm / Cエンベダーであり、 この話があなたにとって厳しい労働日であるなら、私の記事はおそらくあなたのためではありません。



そして今のところ、私は短いHello Worldを短く書きます!



スタジオを開き、ChipworkX Moduleの新しいプロジェクトを選択します。

mainメソッドで元気に書きます

  Console.WriteLine( "Hello、World!"); 




そして、私は得る

 エラー1名前 'Console'は現在のコンテキストに存在しません 


行きましょう。 ここのコンソールは臭いがしません。 私たちは他の方法で行きます。

-画面はありますか?

-あります!

-それで絵を描きます。



短い検索の後、次の構造が表示されます。

パブリッククラスプログラム
 {
     private static readonly int LCDHeight = SystemMetrics.ScreenHeight;
     private static readonly int LCDWidth = SystemMetrics.ScreenWidth;

     private static Bitmap LCD =新しいビットマップ(LCDWidth、LCDHeight);

     public static void Main()
     {
        ビットマップhabr = Resources.GetBitmap(Resources.BitmapResources.Habr);

         LCD.Clear();
         LCD.DrawRectangle(Colors.White、0、0、0、LCDWidth、LCDHeight、0、0、Colors.White、0、0、Colors.White、0、0、ushort.MaxValue);
         LCD.DrawImage((LCDWidth-habr.Width)/ 2、(LCDHeight-habr.Height)/ 2、habr、0、0、habr.Width、habr.Height);
         LCD.Flush();
         Thread.Sleep(Timeout.Infinite);
     }
 }




Habrリソースは、通常の* .resxのビットマップです



打ち上げて見る。 うまくいきます、絵が描きます、こんにちは、ハブル。



しかし、よりインタラクティブになります。



-ボタンはありますか?

-あります!

-中断をインターセプトします。



ドキュメントを調べた後、InterruptPortクラスが発見されました。これにより、GPIOピンに割り込みハンドラーを掛けることができます。



ちょっとしたマナ喫煙と、中央のボタンを押すとペンを上げ下げする操作を実行し、同時にLED(OutputPortクラス)でウィンクする操作を実行するコードが記述され、それに応じてカーソルボタンが画面上でペンを移動します。



コード: pastebin.com/AMF2Th2g



そして結果:)



ハブラペイント



わずか3時間で3時間かかりました。 これまでのところ、結果は満足です...先日、私は何か他のものを書きます。



PS



ハーネスには加速度計があるため、実験を続けるには、I 2 Cに準拠したセンサーと通信し、画面上に転がるボールを描画します。



PPS

参照:



NETMF入門ガイド

MicroFrameworkProject.com



All Articles