`
lovecontry
  • 浏览: 1094955 次
文章分类
社区版块
存档分类
最新评论
文章列表
每周都在写blog,特别是在技术上一旦有了新的发现和心得,总是急于和网友一起分享,这几年以来近乎一种习惯。有时候心下会想,什么时候有机会写一下CSDN开博以来的纪念文章啊?没有想到在2008年开始上班的第一天,就有机会写一篇这样内容的文章了。其实等这个机会,我等了近8个月的时间。 我从<chsdate w:st="on" year="2004" month="6" day="23" islunardate="False" isrocdate="False"&g ...
上次用MF做了一个Windows桌面,感觉还不错,所以就想做一做如俄罗斯方块、贪吃蛇之类的小游戏,不过每次用模拟器运行MF程序,都需要打开VS2005的源码程序,然后单击启动。VS2005是个庞大的家伙,启动它至少要半分钟,所以很 ...
今天是2007年最后一天,还有几个小时就迎来充满期待的2008年了。元旦放假至今不到48个小时的时间里,我至少有30多个小时坐在电脑前研究MF相关技术,在缺少必要的硬件的情况下,利用现有的资料,扩充了现有的模拟器功能。 ...
I2C以前没有怎么接触过,所以做它的模拟功能,只能靠着感觉走,有不妥之处,还望方家指正。做出了spi相关的模拟功能,做I2C相对也就不难了,只不过用户操作I2C总线读写数据的时候要稍微麻烦一点。 测试程序运行界面: 模拟器中的I2C总线的相关代码如下: public class I2CComponent : I2cDevice { public byte[] bytData = new byte[8]; protected override void DeviceRead(byte[] data) { try { for (int i = 0; i ...
继昨天的研究,希望再接再厉把AD模入模出在模拟器上也实现出来,本以为挺简单,其实AD相关功能,与GPIO不同,在模拟器中前者通过GpioPort实现,后者通过SpiDevice实现。幸好有Temperature(温度采集)示例可以参考,否则一时真无法下手。不知道为什么,很简单的代码他们总写的很复杂,让你很难看懂,幸好有以前的相关的经验做底子,用了大半天的时间模入模出都搞定了。 下面就是模拟器中的AD输入输出的相关代码。 public class SpiADComponent : SpiDevice { public Int16 AW0 = 0; public Int16 ...
原打算用MF开发一个类似Windows桌面的程序(因为发现MF居然支持渐进色,可以绘很炫的界面),由于目前的模拟器仅支持5个键,所以在做类Windows开始菜单的时候犯了难,4个方向键和一个OK键,没有一个适合做开始菜单键的。记得Digi的模拟器至少支持9个键,既然他能做,理论上我也可以。一阵研究后还真有了成效,在五个键的基础上我又添加了两个键,一个是菜单键(对应PC键盘可以是Windows键或空格键),一个是返回键(对应PC键盘上的ESC键),也就是说我原来做得模拟器上的那两个键终于起作用了。 添加完这两个键后,突然灵机一动,以前我苦苦不能做的IO模拟功能,应该也可以做了,做Wind ...
很早就知道小I机器人做的不错,但是一直没有时间去研究,趁着元旦放假,下来.Net的SDK好好研究了一下,Demo程序是一个控制台程序,用户交互还不是很方便,此外代码中竟然有重复的地方,看来小I机器人的主人们不是那么认真,唉,真苦了小I这孩子:) 我重新做一个基于Windows窗体的程序,添加了输入窗口,这样机器人不会回答的时候,主人也可以代答。此外代码也重新进行了整理,所有信息也都修改为中文,方便了用户调试和开发。此外发现该程序一旦启动,便无法正常关闭,不知道为什么?这也许是Demo示例开发者执意为控制台程序的原因之一吧(瞎猜的,初次接触该SDK程序,我也有很多不明白的地方)。 程序运行 ...
前段时间在测试我们触摸屏联网性能的时候,由于屏的Mac地址通过注册表设置,而PB定制WinCE内核的时候就有一个默认值,所以一批下来Mac地址都一样,两台以上的机器一联网准出问题,通过注册表软件去修改Mac地址太麻烦了,所以做了一个小的Mac地址软件。 以前用VB做了一个注册表操作类(参见我的blog:http://blog.csdn.net/yefanqiu/archive/2004/07/13/40379.aspx),功能比较详尽;现在用C#做了一个注册表操作类也别简单的只做数据读写了,索性也做个全功能的了。由于.Net在域名空间Microsoft.Win32中提供RegistryKe ...
目前.Net Micro Framework系统仅支持Tinyfnt字体文件,官方仅提供两种字库:NinaB.tinyfnt,small.tinyfnt。用我后来做的程序打开这两种字体,发现它们仅支持如下100字符: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[/]^_`abcdefghijklmnopqrstuvwxyz{|}~€°■▪ 如果要显示汉字,并且设置大小、粗细等等参数,必须要用专门的转换工具把windows中的ttf字体转换为Tinyfnt字体。 这部分内容可以 ...
最近一直在研究.Net Micro Framework字体文件(tinyfnt),由于tinyfnt文件头部有一段描述数据,所以很想定义一个结构体,像VC一样直接从文件中读出来,省得用流一个个解析很是麻烦。 没有想到在C#中竟没有直接的指令,想必C#设计者认为提供了流和序列化技术,一切问题都可以迎刃而解了。 在C#中结构体是一个比较复杂的东西,在此之上有很多需要设置的参数,否则用起来就很容易出错。下面是msdn上一段描述,看看也许有助于理解C#语言中的结构体。
前段时间一直在研究.Net Micro Framework相关的技术,也写了一些文章,所以得以机会在12月14日”.Net Micro Framework 2007技术论坛”上与MF爱好者一起分享我的一些经验。 许云在演讲… 杜伟在演讲… 初次演讲紧张的我和西装革履老大们相比实在谈不上什么好形象,只好用幻灯片代替了:-) 我在幻灯片中的几个示例源码和PPT文件打成了一个压缩包,暂时放在我的网上空间了,由于压缩包比较大,而我的网站空间有限,希望感兴趣的朋友尽快下载,否则有可能几个月后我就删除了。 PPT的主要内容和我以前的文章有些类似,不过提供的示例源码要比以前的详尽,我 ...
几年前我用VB开发了一个西门子PPI通信控件,由于VB开发的控件是标准的COM组件,所以想当然的认为VC、C#、Delphi等开发语言可以非常容易的使用。 前段时间由于该控件基于微软的MSCOMM控件,这个控件如果系统没有安装VB,单独注册好像很难成功,这害的一些没有装VB的用户,为了这个小控件必须安装一次VB,这实在是划算不来,所以直接用API串口函数进行了封装改进,这样不仅效率提高了,并且再也不需要
前不久我编写了一个基于Windows Mobile 5.0的参赛程序《北京2008奥运场馆速查》,可惜当时那个程序并不支持横竖屏自动识别,后来看了参赛的规则,原来这一个功能是必须实现的,所以今天抽出时间又把这方面的内容给添加了进去。 V1.0.0版介绍文章: http://blog.csdn.net/yefanqiu/archive/2007/11/13/1882835.aspx V1.0.0版源码下载: http://microsoft.csdn.net/mobile/dev_contest/demon-detail_1.aspx?pointid=47
试验平台:.Net Micro Framework 模拟器 在前几篇关于.Net Micro Framework的研究文章中,我对它的绘图功能实不敢恭维,不过微软的MF开发人员很聪明,对位图方面的功能实现的就比较完善,这样做起图形应用来就不至于捉襟见肘了。 前段时间用.Net Compact Framework实现了一个奥运场馆查询(相关文章请参见:http://blog.csdn.net/yefanqiu/archive/2007/11/13/1882835.aspx),现在我们用.Net Micro Framework也实现一个,看看哪一个更炫。 (效果是不是比用.Net ...
在调试ICU通信设备的时候,由于串口通信老出现故障,所以就怀疑CF实现的SerialPort类是否有问题,所以最后决定用纯API函数实现串口读写。 先从网上搜索相关代码(关键字:C# API 串口),发现网上相关的资料大约来源于一个版本,那就是所谓的msdn提供的样例代码(msdn的具体出处,我没有考证),其它的代码大都是它的变种。 其实这个示例代码是有问题的,也就是说DCB结构体声明的有问题,虽然该代码可以正常通信,不过如果你设置了奇偶校验的话,你会发现奇偶校验无效。 VC中的DCB结构声明如下: typedef struct _DCB { DWORD DCBleng ...
Global site tag (gtag.js) - Google Analytics