红牛开发板模拟器简要说明_V1.0

简介: 我们可以扩展官方的模拟器,根据需要我们可以定制和开发板尽可能相同的功能的模拟器(特别是pin脚的定义要统一起来),这样编写的代码就不用专门为了适应模拟器,而作特别处理了。

1.png

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 模拟器运行界面
image.png

(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在模拟器中的测试效果
 image.png

3.3在实际设备中的测试效果
image.png
 

 

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

相关文章
|
弹性计算 数据挖掘 UED
云服务器网站建设流程和步骤
网站建设的主要流程是必须了解的,这里就给大家介绍下网站建设的主要步骤!!
594 0
|
20天前
|
人工智能 数据可视化 安全
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
本文详解如何用阿里云Lighthouse一键部署OpenClaw,结合飞书CLI等工具,让AI真正“动手”——自动群发、生成科研日报、整理知识库。核心理念:未来软件应为AI而生,CLI即AI的“手脚”,实现高效、安全、可控的智能自动化。
34884 52
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
|
14天前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
13542 41
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
|
9天前
|
人工智能 JavaScript Ubuntu
低成本搭建AIP自动化写作系统:Hermes保姆级使用教程,长文和逐步实操贴图
我带着怀疑的态度,深度使用了几天,聚焦微信公众号AIP自动化写作场景,写出来的几篇文章,几乎没有什么修改,至少合乎我本人的意愿,而且排版风格,也越来越完善,同样是起码过得了我自己这一关。 这个其实OpenClaw早可以实现了,但是目前我觉得最大的区别是,Hermes会自主总结提炼,并更新你的写作技能。 相信就冲这一点,就值得一试。 这篇帖子主要就Hermes部署使用,作一个非常详细的介绍,几乎一步一贴图。 关于Hermes,无论你赞成哪种声音,我希望都是你自己动手行动过,发自内心的选择!
2742 27
|
2天前
|
缓存 人工智能 自然语言处理
我对比了8个Claude API中转站,踩了不少坑,总结给你
本文是个人开发者耗时1周实测的8大Claude中转平台横向评测,聚焦Claude Code真实体验:以加权均价(¥/M token)、内部汇率、缓存支持、模型真实性及稳定性为核心指标。
|
1月前
|
人工智能 JSON 机器人
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
本文带你零成本玩转OpenClaw:学生认证白嫖6个月阿里云服务器,手把手配置飞书机器人、接入免费/高性价比AI模型(NVIDIA/通义),并打造微信公众号“全自动分身”——实时抓热榜、AI选题拆解、一键发布草稿,5分钟完成热点→文章全流程!
45802 158
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
|
5天前
|
弹性计算 人工智能 自然语言处理
阿里云Qwen3.6全新开源,三步完成专有版部署!
Qwen3.6是阿里云全新MoE架构大模型系列,稀疏激活显著降低推理成本,兼顾顶尖性能与高性价比;支持多规格、FP8量化、原生Agent及100+语言,开箱即用。
|
7天前
|
人工智能 弹性计算 安全
Hermes Agent是什么?怎么部署?超详细实操教程
Hermes Agent 是 Nous Research 于2026年2月开源的自进化AI智能体,支持跨会话持久记忆、自动提炼可复用技能、多平台接入与200+模型切换,真正实现“越用越懂你”。MIT协议,部署灵活,隐私可控。
2064 3