叶帆工作室

嵌入式开发爱好者(十年开发经验,精通C/C++/VC/VB/C#...)

刘洪峰ID:yefanqiu
493510次访问,排名81好友0人,关注者130
微软MVP / CSDN 2008十大MVB/MSDN中文技术论坛版主
yefanqiu的文章
原创 213 篇
翻译 0 篇
转载 3 篇
评论 1035 篇
叶帆的公告
本博客原创文章,作者保留一切权利,需经作者同意后方可转载,转载时 请注明[叶帆工作室]及文章链接。yefan@vip.sina.com
【简介】叶帆[微软MVP]
【文章】叶帆文章列表
【软件】叶帆共享软件列表
最近评论
兰馨谷:多谢!!!



兰馨谷:确实不错
用了多年的VB也没怎么过深的去研究
总是觉得够用就满足了,呵呵很难进步了
用博主提到的其中一个方法
VB工程引用引用,
保存后文本编辑器查看相应GUID
未能成功,后来还是下载RegCtrls.exe
(显示全部类)获得类ID(GUID),并看出了
原来VB工程里引用的是TypeLib

出来打酱油的:做自动化的人软件开发水平真的很低,呵呵
侯磊:你们在北京有很多人可以交流,这对于提高水平有很大的帮助。俺在苏州也没有人跟俺交流,只能自己去思考了。郁闷
girlblank:生成dll的时候,出现
“代码生成器或链接器中出现未知的错误”
查看错误信息,如下显示:

“Microsoft (R) Incremental Linker Version 6.00.8447
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

LI……
文章分类
收藏
    相册
    叶帆照片
    【叶帆软件】
    [01]VB源码之友(V2.1.548)
    [02]API浏览器.net(V5.0)
    [03]叶帆成语词典(V2.0.8)
    [04]叶帆密码库(V1.2.8)
    【叶帆资源】
    DAO 2.0引擎
    叶帆快速通道
    Windows Embedded 专题
    中文MSDN
    叶帆圈子--工业自动化
    叶帆工作室(博客园)
    叶帆工控--工业自动化
    叶帆群组--工业应用开发
    微软中文技术论坛
    瑞康社区论坛
    叶帆友情链接
    张欣
    枕善居
    莫依
    葛涵涛
    郑建
    陈辉
    马宁
    马骐
    魏涛序
    黎波
    存档
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 .Net Micro Framework研究—带IO的模拟器收藏

    新一篇: .Net Micro Framework研究—带AD的模拟器

     
    原打算用MF开发一个类似Windows桌面的程序(因为发现MF居然支持渐进色,可以绘很炫的界面),由于目前的模拟器仅支持5个键,所以在做类Windows开始菜单的时候犯了难,4个方向键和一个OK键,没有一个适合做开始菜单键的。记得Digi的模拟器至少支持9个键,既然他能做,理论上我也可以。一阵研究后还真有了成效,在五个键的基础上我又添加了两个键,一个是菜单键(对应PC键盘可以是Windows键或空格键),一个是返回键(对应PC键盘上的ESC键),也就是说我原来做得模拟器上的那两个键终于起作用了。
    添加完这两个键后,突然灵机一动,以前我苦苦不能做的IO模拟功能,应该也可以做了,做Windows界面的心没有了,转为一心研究IO模拟器了,功夫不负有心人,几个小时后便大功能告成了。把以前Digi开发的IO测试程序稍加调整一下就可以试了(需要重新设置一下Pin)。运行界面如下:
    测试代码如下:
    public class DigiTest
    {
        public static void Main()
        {
            //Digi
            //Cpu.Pin[] pin = new Cpu.Pin[5] { (Cpu.Pin)0, (Cpu.Pin)1, (Cpu.Pin)2, (Cpu.Pin)5, (Cpu.Pin)6 };
            OutputPort[] output = new OutputPort[8];
            InputPort[] input = new InputPort[8]; 
           
            //叶帆模拟器GPIO的pin定义
            Cpu.Pin[] pin_I = new Cpu.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 };
            Cpu.Pin[] pin_Q = new Cpu.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 };
            for (int i = 0; i < 8; i++)
            {
                input[i] = new InputPort(pin_I[i], false, Port.ResistorMode.PullDown);
                output[i] = new OutputPort(pin_Q[i], false);
            }
            int intNum = 0;
            while (true)
            {
                output[intNum].Write(!output[intNum].Read());
                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());
                Thread.Sleep(1000);
                if (++intNum > 7) intNum = 0;
            }
        }
    }
          运行后,效果果然不错,改变输入,则调试信息中出现对应的变化(通过这个也深刻理解了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个按键功能,其它的都不支持]

    发表于 @ 2007年12月30日 22:29:00|评论(loading...)|编辑

    旧一篇: 小I机器人初探

    评论:没有评论。

    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © 叶帆