千家信息网

如何进行.Net Micro Framework下的IO模拟器研究

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,本篇文章给大家分享的是有关如何进行.Net Micro Framework下的IO模拟器研究,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧
千家信息网最后更新 2025年02月01日如何进行.Net Micro Framework下的IO模拟器研究

本篇文章给大家分享的是有关如何进行.Net Micro Framework下的IO模拟器研究,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

原打算用MF开发一个类似Windows桌面的程序(因为发现MF居然支持渐进色,可以绘很炫的界面),由于目前的模拟器仅支持5个键,所以在做类Windows开始菜单的时候犯了难,4个方向键和一个OK键,没有一个适合做开始菜单键的。记得Digi的模拟器至少支持9个键,既然他能做,理论上我也可以。一阵研究后还真有了成效,在五个键的基础上我又添加了两个键,一个是菜单键(对应PC键盘可以是Windows键或空格键),一个是返回键(对应PC键盘上的ESC键),也就是说我原来做得模拟器上的那两个键终于起作用了。

添加完这两个键后,突然灵机一动,以前我苦苦不能做的IO模拟功能,应该也可以做了,做Windows界面的心没有了,转为一心研究IO模拟器了,功夫不负有心人,几个小时后便大功能告成了。把以前Digi开发的IO测试程序稍加调整一下就可以试了(需要重新设置一下Pin)。运行界面如下:

  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. //叶帆模拟器GPIO的pin定义

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

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

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

  13. {

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

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

  16. }

  17. intintNum=0;

  18. while(true)

  19. {

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

  21. 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());

  22. Thread.Sleep(1000);

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

  24. }

  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模拟器研究,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

模拟器 支持 研究 两个 界面 程序 菜单 运行 串口 功能 同时 就是 数字 更多 知识 篇文章 键盘 开发 测试 输出 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海移动软件开发哪家好 名词解释数据库应用程序 绿盟科技网络安全产品 网络安全属于什么文学吗知识 阿里大数据云原生ai 数据库 慧田网络技术深圳有限公司 小学网络安全讲座视频 服务器安全狗登录服云 现代战舰服务器崩了 微致互联网科技有限公司官网 网络安全技术员基础知识 互联网科技企业发展规划 github+软件开发 洪恩识字什么软件开发 铜仁天气预报软件开发 畅捷通t3服务器名称或ip地址 网络安全宣传周 甘肃 重庆管理软件开发有哪些 福建数据库防护箱销售厂 家客网络技术支撑主要做什么 上海高速靠近昆山的服务器 网络安全基础三件是哪些 数据库的用户管理实验 工行查金融信息基础数据库 无锡市数据软件开发平台 网络安全最新发展方向 不是网络安全问题因数 服务器软件加数据保护 全境封锁服务器连不上 网络安全中去掉ntlm验证
0