天天看點

紅牛開發闆模拟器簡要說明_V1.0

紅牛開發闆模拟器簡要說明_V1.0

1、前言

.NET Micro Framwork 除了簡單易于開發外,還有一個比較有用的功能,那就是支援模拟器開發。但是官方自帶的模拟器是一個通用模拟器,不僅LCD和實際開發闆有異同,就是按鍵的pin定義也是有差別的,更不要說一些LED等沒有定義的功能了,這樣在開發測試.NET Micro Framework應用程式時,還得依賴實際的開發闆。

不過我們可以擴充官方的模拟器,根據需要我們可以定制和開發闆盡可能相同的功能的模拟器(特别是pin腳的定義要統一起來),這樣編寫的代碼就不用專門為了适應模拟器,而作特别處理了。

紅牛開發闆模拟器就是這方面的一個嘗試,功能亦在不斷擴充中…

2、模拟器簡介

2.1 模拟器運作環境

開發環境:Microsoft Visual Studio 2010

.NET Micro Framwork版本:V4.1

2.2 模拟器下載下傳

模拟器:

http://www.sky-walker.com.cn/MFRelease/Tools/YFEmulator_Redox.rar

開發闆:

http://item.taobao.com/item.htm?id=7117999726

2.3 模拟器安裝

(1)、解壓後,把YFEmulator_Redox.exe、YFEmulator_Redox.exe.emulatorconfig等檔案拷貝到任意目錄。

(2)、直接運作YFEmulator.exe即完成注冊。

(3)、在工程屬性中打開“.Net Micro Framework”操作面闆,Transport選擇“Emulator”,Device選擇"YFSoft Emulator for Redox"即可使用。

(4)、對應的.NET Micro Framework 4.1 SDK(V4.1.2821.0)

下載下傳位址:

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=CFF5A7B7-C21C-4127-AC65-5516384DA3A0

2.4 模拟器運作界面

紅牛開發闆模拟器簡要說明_V1.0

(1)、按鈕和LED pin腳定義和實際開發闆完全一樣;

(2)、NandFlash的相關操作,未來也将和實際開發闆統一;

(3)、将提供新的TinyGUI庫,以支援模拟器顯示;

(4)、後續開發的庫,将盡可能考慮支援模拟器操作;

3、模拟器測試

3.1 測試代碼

public static void Main()

        {

            //wakeup - PA0  tamper- PC13  user1-PA8 user2- PD3  

            Cpu.Pin[] Button_Pins = new Cpu.Pin[] { (Cpu.Pin)GPIO_NAMES.PA0, (Cpu.Pin)GPIO_NAMES.PC13, (Cpu.Pin)GPIO_NAMES.PA8, (Cpu.Pin)GPIO_NAMES.PD3 };

            //LED

            Cpu.Pin[] LED_Pins = new Cpu.Pin[] { (Cpu.Pin)GPIO_NAMES.PF6, (Cpu.Pin)GPIO_NAMES.PF7, (Cpu.Pin)GPIO_NAMES.PF8, (Cpu.Pin)GPIO_NAMES.PF9, (Cpu.Pin)GPIO_NAMES.PF10 };

            InterruptPort[] button = new InterruptPort[Button_Pins.Length];

            for (int i = 0; i < button.Length; i++)

            {

                button[i] = new InterruptPort(Button_Pins[i], true, Port.ResistorMode.PullDown, Port.InterruptMode.InterruptEdgeBoth);

                button[i].OnInterrupt += new NativeEventHandler(Program_OnInterrupt);

            }

            OutputPort[] led = new OutputPort[LED_Pins.Length];

            for (int i = 0; i < led.Length; i++)

            {

                led[i] = new OutputPort(LED_Pins[i], false);

            }

            while (true)

            {

                for (int i = 0; i < led.Length; i++)

                {

                    led[i].Write(!led[i].Read());

                }

                Thread.Sleep(1000);

            }

        }

        static void Program_OnInterrupt(uint data1, uint data2, DateTime time)

        {

            Debug.Print(data1.ToString() + ":" + data2.ToString());

            System.TinyGUI.Graphics.Print(data1.ToString() + ":" + data2.ToString()+"/r/n");

        }           

3.2在模拟器中的測試效果

紅牛開發闆模拟器簡要說明_V1.0

3.3在實際裝置中的測試效果

紅牛開發闆模拟器簡要說明_V1.0

4、小結

   其實不僅僅LCD、按鍵和LED可以模拟,序列槽、網口、SPI、I2C等也是可以模拟的,後續,我們根據實際的必要,可以開發出周邊子產品的模拟器,這樣就可以實作花最少的代價,做最有效率的工作。

   相關文章引申閱讀:

  (1)、支援橫豎屏切換的.Net Micro Framework模拟器

http://blog.csdn.net/yefanqiu/archive/2009/12/06/4950466.aspx

  (2)、Micro Framework 3.0模拟器改造

http://blog.csdn.net/yefanqiu/archive/2009/01/31/3855650.aspx

  (3)、.Net Micro Framework研究—帶IO的模拟器

http://blog.csdn.net/yefanqiu/archive/2007/12/30/2005462.aspx

  (4)、.Net Micro Framework研究—帶I2C總線的模拟器

http://blog.csdn.net/yefanqiu/archive/2007/12/31/2006370.aspx

(5)、.Net Micro Framework研究—帶AD的模拟器

http://blog.csdn.net/yefanqiu/archive/2007/12/31/2006197.aspx

(6)、.Net Micro Framework研究—模拟器直接運作MF程式

http://blog.csdn.net/yefanqiu/archive/2008/01/02/2010225.aspx

(7)、.Net Micro Framework研究—模拟器改造

http://blog.csdn.net/yefanqiu/archive/2007/10/31/1860020.aspx

(8)、用模拟器零成本體驗MF開發

http://blog.csdn.net/yefanqiu/archive/2008/07/16/2658204.aspx

繼續閱讀