当前位置: 首页 > news >正文

.NET Micro Framework初体验(二)

下面我们以Presentation为例,来看一下NETMF程序的结构,以及Visual Studio 2004对NETMF的支持。
使用VS 2005打开Presentation工程,程序入口点在Presentation.cs中,MyApp类是继承自Microsoft.SPOT.Application类。在静态的Main函数中,调用MyApp的Run方法。需要注意的是,在OnStartup函数中,程序创建了MainMenuWindow对象,也是程序的主窗体。
MainMenuWindow类也在Presentation.cs中,间接派生自Microsoft.SPOT. Presentation.Windows类。在MainMenuWindow类的构造函数中,程序创建了Panel、TextFlow、ListBox、Button等控件。
结合运行后的效果,这些代码都是十分好理解的。在GpioButtonInputProvider.cs中,是与硬件相关的代码,Button的控制是通过GPIO的Pin来实现的。不过实话说,这部分代码我没怎么看懂。
代码说到这里,下面来说编译。我们直接点击Run的Button,就可以启动模拟器并且进行运行。这个和.NET CF程序启动模拟器调试的方式差不多,不过,启动速度比.NET CF的模拟器要快很多了,这个大概是因为NETMF的模拟器并没有真正模拟硬件环境,只是在.NET Framework中模拟NETMF的行为吧?
模拟器是五个Button,程序界面也十分简单。主要是一些控件使用和GDI绘制(我不知道NETMF的绘制函数是不是也叫GDI)。
关闭模拟器,退出调试环境,我们选择Project菜单下的工程属性,我们可以看到,在最后增加了Micro Framework的选项。我们可以在这里选择输入设备,默认是模拟器,此外还支持USB、串口、TCP/IP的调试程序。另外,在Application页里我们可以看到,目前的示例代码都是命令行程序,这个我不太理解。
最后来看看创建工程向导,选择File New Project,我们可以在Visual C#下面看到一个新的类型“Micro Framework”其中包括,Class Library、Console Application和Window Application,这几个都比较好理解。此外竟然还有一个Device Emulator,难道我们可以自己编写模拟器?想不明白。
好了,关于NETMF的事情,就写这么多,最后祝大家新年快乐。希望大家新年假期有空研究研究NETMF。

相关文章:

  • linux中的驱动文件的内容,Linux内核驱动中对文件的读写
  • Yale cas服务器端/客户端环境配置以及其在tomcat服务器下SSL安全协议得部署之完全实现篇...
  • linux程序文件上锁,Linux下对文件的某一记录进行上锁
  • Linux中通过缓存DNS的解析来提高上网的响应速度!
  • 在linux安装java环境变量配置,在linux安装java环境变量配置
  • linux centos7服务器时间,centos7.2_x64搭建ntp时间服务器
  • 利用ubint安装Linux到u盘,Ubuntu12.04安装到U盘里
  • 大年三神
  • rtl8723BS网卡linux,关于 RTL8723BS 与此同时开启 STA/AP 模式
  • 我为什么选用转码的方式调整码率
  • yunos运行linux程序,YunOS开放平台
  • linux xtrabackup备份恢复,xtrabackup 备份和恢复docker容器内的mysql
  • Free Mind 06年2月 SourceForge 推荐项目
  • linux异常断电检查,linux断电后,出现fsck失败的解决方法
  • 【FreeMind】简介信息
  • ----------
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • Angular数据绑定机制
  • bootstrap创建登录注册页面
  • C++类的相互关联
  • create-react-app做的留言板
  • CSS 专业技巧
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • es6
  • es6(二):字符串的扩展
  • ES学习笔记(12)--Symbol
  • mongo索引构建
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 测试开发系类之接口自动化测试
  • 彻底搞懂浏览器Event-loop
  • 初识 webpack
  • 技术发展面试
  • 时间复杂度与空间复杂度分析
  • 数据可视化之 Sankey 桑基图的实现
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 云大使推广中的常见热门问题
  • 大数据全解:定义、价值及挑战
  • ​马来语翻译中文去哪比较好?
  • # Maven错误Error executing Maven
  • #include<初见C语言之指针(5)>
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (转)visual stdio 书签功能介绍
  • (转)我也是一只IT小小鸟
  • (转)一些感悟
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .net6解除文件上传限制。Multipart body length limit 16384 exceeded
  • .Net各种迷惑命名解释
  • .NET上SQLite的连接
  • /bin/bash^M: bad interpreter: No such file or directory
  • @Autowired自动装配