自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

.Net Micro Framework下的IO模擬器研究

開發(fā) 后端
本文介紹一陣研究后還真有了成效,在五個鍵的基礎上我又添加了兩個鍵,一個是菜單鍵),一個是返回鍵,也就是說我原來做得模擬器上的那兩個鍵終于起作用了。

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

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

以前Digi開發(fā)的IO測試程序稍加調(diào)整一下

 

  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. }  


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

細心的讀者會發(fā)現(xiàn),我的模擬器可以讓InputPort和OutputPort的實例同時運行,原因就是他們的Pin值不同,而Digi的I/O共用了0、1、2、5、6(天知道他們?yōu)槭裁匆@樣?)。

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

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

【編輯推薦】

  1. .Net Micro Framework中的Shapes命名空間
  2. 淺談.NET Micro Framework性能優(yōu)化
  3. .Net Micro Framework線程技術(shù)詳解
  4. .Net Micro Framework下的IO模擬器研究
  5. 在.Net Micro Framework中訪問硬件
責任編輯:佚名 來源: 葉帆工作室
相關(guān)推薦

2009-04-11 15:12:24

.Net MicroI2C總線模擬器

2009-07-17 13:56:44

.Net Micro

2009-07-09 09:28:19

.Net Micro

2009-06-29 10:19:42

.NET Micro性能優(yōu)化

2009-07-16 15:02:33

Shapes命名空間Net Micro F

2010-10-08 17:03:59

.NET Micro Visual Stud

2009-11-17 10:29:39

.NET Micro

2009-07-17 14:51:22

.Net Micro

2009-07-17 13:46:52

.Net Micro

2009-05-11 09:24:53

微軟.Net Micro 源代碼

2009-07-17 14:38:49

Micro Frame

2009-12-03 14:53:49

.NET Framew

2009-09-14 09:59:19

CCNA模擬器介紹CCNA

2009-09-04 16:05:08

2009-07-07 12:09:04

注冊表開發(fā).NET Compac

2011-07-26 09:32:08

iPhone 模擬器

2009-09-17 09:11:59

CCNA實驗模擬器CCNA

2010-01-27 13:37:15

2013-07-24 16:08:01

Android模擬器Genymotion

2014-11-17 10:34:15

點贊
收藏

51CTO技術(shù)棧公眾號