中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行.Net Micro Framework下的IO模擬器研究

發布時間:2021-10-28 09:49:35 來源:億速云 閱讀:101 作者:柒染 欄目:編程語言

本篇文章給大家分享的是有關如何進行.Net Micro Framework下的IO模擬器研究,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

原打算用MF開發一個類似Windows桌面的程序(因為發現MF居然支持漸進色,可以繪很炫的界面),由于目前的模擬器僅支持5個鍵,所以在做類Windows開始菜單的時候犯了難,4個方向鍵和一個OK鍵,沒有一個適合做開始菜單鍵的。記得Digi的模擬器至少支持9個鍵,既然他能做,理論上我也可以。一陣研究后還真有了成效,在五個鍵的基礎上我又添加了兩個鍵,一個是菜單鍵(對應PC鍵盤可以是Windows鍵或空格鍵),一個是返回鍵(對應PC鍵盤上的ESC鍵),也就是說我原來做得模擬器上的那兩個鍵終于起作用了。

添加完這兩個鍵后,突然靈機一動,以前我苦苦不能做的IO模擬功能,應該也可以做了,做Windows界面的心沒有了,轉為一心研究IO模擬器了,功夫不負有心人,幾個小時后便大功能告成了。把以前Digi開發的IO測試程序稍加調整一下就可以試了(需要重新設置一下Pin)。運行界面如下:

如何進行.Net Micro Framework下的IO模擬器研究

  1. publicclassDigiTest  

  2. {  

  3. publicstaticvoidMain()  

  4. {  

  5. //Digi  

  6. //Cpu.Pin[]pin=newCpu.Pin[5]{(Cpu.Pin)0,(Cpu.Pin)1,(Cpu.Pin)2,
    (Cpu.Pin)5,(Cpu.Pin)6};  

  7. OutputPort[]output=newOutputPort[8];  

  8. InputPort[]input=newInputPort[8];  

  9.  

  10. //葉帆模擬器GPIO的pin定義  

  11. Cpu.Pin[]pin_I=newCpu.Pin[8]{(Cpu.Pin)10,(Cpu.Pin)11,(Cpu.Pin)12,
    (Cpu.Pin)13,(Cpu.Pin)14,(Cpu.Pin)15,(Cpu.Pin)16,(Cpu.Pin)17};  

  12. Cpu.Pin[]pin_Q=newCpu.Pin[8]{(Cpu.Pin)20,(Cpu.Pin)21,(Cpu.Pin)22,
    (Cpu.Pin)23,(Cpu.Pin)24,(Cpu.Pin)25,(Cpu.Pin)26,(Cpu.Pin)27};  

  13. for(inti=0;i<8;i++)  

  14. {  

  15. input[i]=newInputPort(pin_I[i],false,Port.ResistorMode.PullDown);  

  16. output[i]=newOutputPort(pin_Q[i],false);  

  17. }  

  18. intintNum=0;  

  19. while(true)  

  20. {  

  21. output[intNum].Write(!output[intNum].Read());  

  22. Debug.Print(input[0].Read().ToString()+""+input[1].Read().
    ToString()+""+input[2].Read().ToString()+""+input[3].Read().
    ToString()+""+input[4].Read().ToString()+""+input[5].Read().
    ToString()+""+input[6].Read().ToString()+""+input[7].Read().ToString());  

  23. Thread.Sleep(1000);  

  24. if(++intNum>7)intNum=0;  

  25. }  

  26. }  


運行后,效果果然不錯,改變輸入,則調試信息中出現對應的變化(通過這個也深刻理解了new InputPort(pin_I[i], false, Port.ResistorMode.PullDown)中的上拉和下拉的含義),同時程序中改變輸出,則對應的輸出燈也在同步亮滅。

細心的讀者會發現,我的模擬器可以讓InputPort和OutputPort的實例同時運行,原因就是他們的Pin值不同,而Digi的I/O共用了0、1、2、5、6(天知道他們為什么要這樣?)。

以后在測試相關的IO應用,不必接上硬件了,直接用模擬器就可以了。不知道模擬器是否支持串口模擬(映射PC機物理串口),以后有時間研究一下。不過我想TCP/IP一定會有問題,一是MF目前的TCP/IP都不完善,第二模擬器目前也不可能支持虛擬網卡(類似PPC模擬器或虛擬機)。

目前模擬器支持8路數字量入,8路數字量出,模擬量以后有機會在加入。
[注:目前微軟官方的模擬器僅支持LCD和5個按鍵功能,其它的都不支持]

以上就是如何進行.Net Micro Framework下的IO模擬器研究,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

io
AI

寿阳县| 凤翔县| 大足县| 马山县| 息烽县| 兴海县| 高碑店市| 舞阳县| 柳江县| 龙州县| 茶陵县| 阿拉善盟| 九台市| 略阳县| 肇庆市| 任丘市| 大冶市| 临沧市| 偏关县| 南昌县| 灵川县| 靖远县| 九江县| 洪江市| 雅江县| 叶城县| 合江县| 报价| 龙胜| 吴忠市| 宁南县| 华宁县| 德令哈市| 湟源县| 隆尧县| 乳源| 荥经县| 监利县| 余庆县| 杭锦后旗| 镇巴县|