ティーザーは保守的に、しかし積極的に知覚されたので、続けましょう。
そのため、ボックスは開梱され、ボタンは突かれ、起動時にデバッグ出力にプッシュされました。 かっこいい! 鉄片が機能します。
一方、彼女は有用なことを何もしていません。
始めるには何が必要ですか?
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