我的第一个.Net Micro Framework设备驱动程序

在2006春天参加在美国Las Vergas的MEDC就看到了Micro Framework创建的设备以及机器人,当然对微软使用Micro Framework创建的微软手表以及做笔记本的第二显示屏的Sideshow仰慕已久。我在Windows Mobile和Symbian等手机平台上做过多年C++/C#的开发,但从来没有写过设备驱动,但心里向往编写驱动程序但没有机会,所以一拿到Micro Framework的开发板,就开始自己的第一个设备驱动程序之旅。

基于.Net Micro Framework设备开发很简单,需要一台运行Visual Studio 2005的电脑,下载并安装免费的Microsoft .NET Micro Framework SDK( http://www.microsoft.com/downloads/details.aspx?FamilyId=32F5DF20-6C95-4FE8-A76C-0ED56A839AD2&displaylang=en ),然后选择一个开发板或者和微软签协议自己创建开发板,去一些芯片厂商或代理的网站订购GPS或传感器的芯片,就可以编写驱动和应用了。如果应用和设备都测试完成,就可以去找Design House设计外型,找工厂批量生产。如果只是学习如何开发应用,所有的工作都可以在模拟器上完成,包括编写模拟设备。

在这个入门的项目中,参考微软.Net Micro Framework团队的博客文章”Building a Thermostat with the Microsoft .NET Micro Framework”( http://blogs.msdn.com/netmfteam/archive/2007/11/12/building-a-thermostat-with-the-microsoft-net-micro-framework.aspx ), 选择Embedded Fusion的Tahoe开发板和AD7314开发一个温度计。首先介绍一下准备使用的Analog Devices公司的 AD7314,是一个MSOP-8封装的温度传感器,包含一个10位的带隙温度传感器和一个10位的A/D转换器。另外,AD7314还具有一个串行接口,其与SPI、QSPI和MICROWIRE及DSP总线协议兼容,使得它与微处理器接口十分方便。AD7314的外形也非常的小,这正是有一些手机和硬盘使用的这个芯片的原因。具体的技术特点如下:

(1)10位数字温度传感器;

(2)工作温度范围–35oC 至 +85oC;

(3)精度:+2oC;

(4)SPI和DSP兼容串行接口;

(5)休眠模式。

AD7314的图片如下,就是最下面的那个小黑块:

因为AD7314使用广泛,所以采购也很简单,在digikey.com的网站上就可以直接网上定购(定购可参考: http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=AD7314ARMZ-ND)买一个需要1.63美元,因为我本人这段时间在温哥华,运费也很低,如果中国的朋友感兴趣,我可以购买之后让朋友带回去 。AD7314的图片:

PA300372

选择开发板

微软Micro Framework的主页上有很多公司提供硬件运行.NET Micro Framework,因为相比之下张欣告诉我的Embedded Fusion比较便宜,再加上他们公司有一个embedded MVP叫Steve Maillet非常热心,所以选择了Embedded Fusion的Tahoe开发板( http://www.embeddedfusion.com )。其实也可以选择飞思卡尔的i.MXS开发工具包,零售价499.10美元 (http://www.freescale.com/webapp/sps/site/overview.jsp?nodeId=02XPgQ8217297301A5).

PB060443

在编写驱动之前,需要把AD7314和开发板用线连起来。由于AD7314实在是太小了,像米粒那么小的芯片上引出八支脚,测试时连线比较困难,所以在digikey.com上购买了一个供AD7314使用的面包板33108CA-ND(定购可参考:http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=33108CA-ND ), 虽然引脚间的距离很小,还是需要小心的每支脚都焊起来。

PB060444

连线

接下来就得连线了,AD7314温度传感器芯片引脚示意图如下:

PB060445 PA300399

在芯片上有一个小记号代表引脚1,通常习惯面包析朝下时,引脚1放在左上脚。因为AD7314使用SPI总线通讯,所以把AD7314 引脚和开发板上的SPI端口连起来。使用SPI需要一个引脚来激活,通常使用一个GPIO的引脚就行了,在这里可以选择一个在开发板上离SPI端口最近的PA7,也就是GPIO pin 5,一会儿在驱动程序中需要指定是Pin5来激活。

连线的任务很简单,VDD代表电源连到开发板的+3.3v, SCLK (serial clock,串口时钟)连到开发板的串口时钟,SDI (serial data in) 和 SDO (serial data out)分别连到开发板的MISO(master in, slave out)和MOSI(master out, slave in).

PB060435 PB060441

连线有个诀窍,除了必需使用焊接外在测试时尽量少用。在这里使用连线的诀窍有两个:一个是使用网线里的双绞线做连线,二是使用橡皮圈来连接引脚和电线。废弃的网线随处可得,使用双绞线的好处是里面的铜丝比较硬,连接时各自都有自己形状,不会互相干扰; 使用橡皮圈连接引脚和连线可以避免使用焊枪,一则可以重用连线,二则实现也简单,橡皮圈可以找气门芯或者粗一点的电线皮代替。

在下图中,在主板上使用了一个连接头S5682-ND,(定购参考:http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail?name=S5682-ND ),这样可以直接把连线插到连接头里,双绞线比较坚硬,可以直接插到连接头里,而且很牢固,使用焊接是个体力活,做起来很花时间。

PB060437

创建驱动的项目

使用Embedded Fusion的Tahoe开发板另一个好处是提供了一系列模板,当然包括SPI Device Driver的模板,在VS2005中新建项目如下图:

NewDriver

项目创建完毕之后添加一个常量声明:

public partial class AD7314 : SPIDeviceDriver;

const int ClockRateKhz = 4000;

然后修改AD7314的构造函数为:

public AD7314()

{

SPI.Configuration cfg = new SPI.Configuration((Cpu.Pin)5

, true

, 0

, 0

, false

, false

, ClockRateKhz

, SPI.SPI_module.SPI1

);

base.Config = cfg;

}

注:第一个参数(Cpu.Pin)5是因为在上面文章中使用第5个引脚来激活温度传感器。

这样就可以使用基类中WriteRead函数的读取数据了:

public float ReadTemperature()

{

// Create the output and input arrays of bytes

byte[] bout = new byte[2];

byte[] bin = new byte[2];

// Set the output bytes both to 0

// This sensor doesn’t need any commands. All this method does is read

// the input data, so the output is simply for SPI clocking

bout[0] = 0;

bout[1] = 0;

// Write the clocking info, then read the input data

base.WriteRead(bout, bin);

根据温度的数据格式转换数据格式:

table

代码如下:

// Convert the 2 byte value according to the AD7314 data sheet

// Put the raw bytes into an int

// Mask the upper bit, which is a sign indicator (+/-)

int s = (((bin[0] << 8) + bin[1]) & 0xBFFF);

// Convert to a float

float f = s;

// Shift right

f /= 128;

// Detect negative

if ((bin[0] & 0x40) == 0x40)

f = -f;

// Return the temperature

return f;

}

如果不想使用Embedded Fusion的Tahoe项目模板,也很简单,只需要在Class AD7314里根据cfg创建一个SPI的成员变量,调用SPI的WriteRead函数。

读取温度

在.Net Micro Framework中使用温度也非常的简单,只需要在项目中引用刚才创建的Class Library, 只需要在需要读取温度的地方如下调用:

// Make sure the sensor object is valid

if (_sensor == null)

_sensor = new AD7314();

// Read the value from the sensor

double temp = _sensor.ReadTemperature();

注:本文章参考微软.Net Micro Framework团队的博客文章”Building a Thermostat with the Microsoft .NET Micro Framework”:
http://blogs.msdn.com/netmfteam/archive/2007/11/12/building-a-thermostat-with-the-microsoft-net-micro-framework.aspx

有关.Net Micro Framework的开发的信息:

1. Mobile MVP张欣的第一个Digi开发板上的.Net Micro Framework程序:Hello Morse Code; Hello .NET Micro Framework.(http://mobileside.cn/blogs/breakstring/archive/2007/10/06/MorseCodeOnDotNETMF.aspx)

2. Embedded MVP刘洪峰的博客:http://blog.csdn.net/yefanqiu/,包括Digi开发板初探和模拟器改造一系列的文章

3. 微软.Net Micro Framework主页:http://msdn.microsoft.com/embedded/netmf

4. 微软.Net Micro Framework开发团队博客:http://blogs.msdn.com/netmfteam/

5. Windows Vista Sideshow:
http://www.microsoft.com/china/windowsvista/features/foreveryone/sideshow.mspx

6. 微软手表: http://direct.msn.com/

发表在 未分类 | 8条评论

Windows Mobile新闻ISV(中文版)第五期27号刊(2005年9月)

Banner Image

Newsletter Image
第5期 27号刊

2005年9月
面向移动应用程序开发者的月度期刊。将带给您有关 Windows Mobile 平台最新的技术信息、开发资源、开发工具,以及 Windows Mobile 开发平台上的最新消息(Pocket PC 和 Smartphone)。通过此期刊您还可以得到网络广播的最新课程信息和课程的基本介绍,了解 Windows Mobile 技术的发展趋势。
Tech?Ed 2005(中国)
微软技术大会 Tech?Ed 2005(中国)
2005年的9月,秋高气爽,微软规模最大的技术活动——2005年微软技术大会(TechEd)在广州拉开了帷幕。随后在上海、北京也陆续上演。本次大会以“创新、远见、分享、协作”为主题,届时,来自美国微软总部与中国的技术专家将与您全方位交流微软最新产品技术,深入探讨业界前沿趋势。

移动技术与设备主题课程:

?
Windows Mobile中的开发新特性——张炜
在Windows Mobile 5.0中,新的开发特性允许我们轻松的访问系统的联系人,邮件等信息。此外本课程还将介绍如何截取手机短消息,获取系统状态,并得到系统状态更改的通知等。
?
平板电脑最新硬件,软件,及商业实用方案概述——张祺
此讲座是针对技术决策者,IT专业人员以及软件开发者的,展示如何利用平板电脑来提高生产率和平板电脑及其开发平台提供的商业机会。
?
平板电脑软件开发工具集概述——张祺
此讲座是针对软件开发人员的,通过一个简单的指南来展示如何利用平板电脑软件开发工具集,并给出开发笔墨支持的应用中的资源使用要点。
?
微软是如何出品Windows Mobile 软件的——崔海
本讲座将深入介绍Windows Mobile平台的Pocket PC, Smartphone。重点将围绕微软在移动领域的战略,最新移动产品的路标,和移动软件的发展方向。在讲座中,会有Windows Mobile的演示和企业级应用的案例介绍。
?
在Visual Studio 2005中移动智能设备开发ASP.NET应用——王立楠
作为移动设备上最通用的应用形式,Web应用程序,在ASP.NET 2.0中仍然被支持。然而ASP.NET 2.0的一系列新特性使移动Web应用程序如虎添翼。本讲座将详细介绍ASP.NET 2.0给移动Web应用程序开发带来的新特性。
?
使用Visual Studio 2005构建移动应用——王洪超
VS .NET 2005即将于今年发布正式版本,除了在开发Windows Form、ASP.NET等应用上得到了很大的增强以外;在移动设备开发方面,VS .NET 2005也提供了更加强大的开发支持。在本课程当中,我们将通过实例,全面并具体展现VS .NET 2005的新特性,从而使广大的移动开发人员有一个全面地了解。
?
微软IT部门部署60,000 Windows Mobile的策略——崔海
你想了解微软是如何部署全球60,000员工的移动应用?企业间的移动应用现在是在初期阶段,将来是如何发展?本讲座将着眼于MS IT部门大规模应用Windows Mobile 移动产品的经验和策略,并给于专门的技术介绍。
?
如何使用ASP.NET Mobile Controls开发Mobile Web应用——马骐
想知道移动聊天Wap版(wap.m161.com.cn)是怎么开发出来的吗?想知道是如何动态适应五千多款手机或手执设备的?我们主要目的就是学会如何Mobile Control使我们的网页更适合我们的小屏幕设备,最大限度使用设备的表现能力。这次内容将包括如何在Mobile Control应用程序中如何使用Device Filters和模板定制,以及使用XHTML以及无线CSS和Visual Studio 2005创建更酷的应用程序。
?
设计Windows Mobile应用程序的用户界面——张欣
基于Windows Mobile的设备的程序的用户界面的设计和常规的程序有什么不同呢?怎么来设计你的程序使之适应不同的屏幕的Windows Mobile设备呢?应该如何合理的设置软键以及菜单呢? 在本次讲座中,会使您了解这些,以便您能够设计更加友好的Windows Mobile应用程序的用户界面。
?
Windows Mobile5.0开发新特性——高惠杰
您想知道Windows Mobile5.0中C/C++ APIs的变化或新增的内容吗?本次课程重点讨论在我们的应用程序中如何使用它们,包括:软键,状态与通知,新的eDB数据库,如何使用数码相机获得图像,如何编写消息应用,Pocket Outlook对象模型的新增特性等等。
?
用.NET精简版2.0和SQL Server 2005打造强力智能客户端——徐晓卓
在为一名开发人员,您曾经为复杂的客户网络环境苦恼吗?曾经为开发出高质量的客户端软件绞尽脑汁吗?在智能客户端这个概念推出后,这些问题都迎刃而解了。让我们看看如何使用.NET精简版2.0和SQL Server 2005 Mobile Edition打造强力的Windows Mobile客户端,让您的软件在复杂的客户环境中做到游刃有余。
?
优化Windows Mobile 应用程序——范理明
本课程将从系统运行性能,内存及电源诸方面讨论基于Windows Mobile的应用程序优化的相关问题。


新闻
微软看好音乐手机 Windows手机上享受数字音乐 ?
随着手机和数字音乐市场日趋成熟,对每个新款机型的期盼似乎成为了一种潮流。目前在48个国家共有68家移动运营商在市场上提供来自41家手机制造商的70多款基于Windows Mobile和Windows Media技术的音乐手机。
西门子和微软两家公司将动用两家公司的技术力量,推出一种综合通讯系统,它将包括即时通讯、视频会议以及集成电话技术。这使得BBC为其员工提供基于移动平台的安全外网联结,这将带来全新的灵活工作环境。

海峡两岸共推移动开发黄金周 百份大奖等你拿
海峡两岸共推移动开发黄金周  百份大奖等你拿 ?

金秋十月,微软Windows Mobile部门精心策划并推出了十月移动开发黄金周活动,数位微软最有价值专家将为您带来6场Mobile开发的Webcast。我们还特别邀请到了具有丰富移动企业应用开发经验的台湾讲师叶佰苍,他将带来有关台湾Mobile开发的经验和最新讯息。

6场讲座内容包括基础的UI界面设计,企业应用开发的移动数据库编程,更有跟游戏开发息息相关的Direct 3D移动编程。所有的讲座将用.NET Compact Framework 2.0和微软最新的开发工具Visual Studio 2005来讲解,您将感受到微软强大技术带来的全新体验。

除了技术上的惊喜,微软Windows Mobile部门还准备了百份礼物。只要您参与我们的讲座,就有机会赢得微软最有价值专家傅曦的《Windows Mobile手机应用开发》。多次参与讲座的听众还有机会获得神秘大奖。

黄金周讲座时间安排在十月最后两个星期的周一、周三和周五。请在您的日历上做上标记并且现在就请仔细阅读以下内容,以便为参加我们即将举行的活动做好准备。

?
Mobile Device Application Development–Platforms, Tools, and Technologies——侯月文
本课程介绍Mobile Device开发的入门知识。将介绍 Mobile Device的各个平台之间的异同,开发工具以及采用的开发技术。
?
.NET Compact Framework 2.0 新功能导览——叶佰苍
本课程介绍.NET Compact Framework 2.0中,新版本所提供的功能特色,以及针对从过去.NET Compact Framework 1.1所作的改进,并介绍升级相关的议题。
?
Using SQL MOBILE on.NET CF 2.0——马宁
本场讲座为大家讲述如何在Visual Studio 2005中如何开发SQL Mobile的移动数据库应用程序。大家将了解到.NET Compact Framework 2.0中有哪些新特性可以帮助我们更好的开发SQL Mobile的应用程序;Visual Studio 2005的集成开发环境为我们创建、发布、编辑SQL Mobile数据库提供了哪些便利。
?
Working with the User Interface——张一雷
用户界面设计构筑了软件产品的基础,也是软件开发中最重要的一个环节,优秀的界面简单美观而且易于使用,在移动开发中,由于硬件的局限,使得用户界面设计更为重要。本次课程介绍了.NET Compact Framework开发用户界面的一些内容,包括:事件响应,使用控件,用户输入等。
?
Using XML——张欣
我们经常使用XML来存储数据。在本课程中,将会和您一起对比在.NET Compact Framework中几种常见的处理XML数据的方法,同时也会讨论一些在.NET Compact Framework 2.0中XML处理方面增加的一些新特性。通过这些内容,使得您可以选择更加适合您的项目的XML数据的处理方法以提高程序性能。
?
Direct 3D Mobile初体验——马宁
本场Webcast为听众展示Windows Mobile 5中Direct 3D Mobile的新特性。本讲座以C#和.NET Compact Framework 2.0作为开发工具,用一个新手的视角,来探索Direct 3D Mobile应用程序开发的过程;并为大家讲述Direct 3D Mobile编程中的基本概念。


TechNet 关于 Windows Mobile 的网络精彩回顾
本讲座主要介绍Windows Mobile 5企业移动办公的新特性,让用户了解Windows Mobile 5在移动办公方面可以帮助企业提升价值。主要讲解在Windows Mobile 5的新特性中增加的Office Mobile办公套件,包括Word Mobile、Excel Mobile、Outlook Mobile和PowerPoint Viewer。讲解如何结合Outlook Mobile和ActiveSync 4.0的功能,通过Exchange服务器进行邮件、约会等方面的设置和管理。
讨论Exchange 2003 Sp2带来的关于移动设备的新特性,关于:全球地址本使用、远程删除信息、Exchange Direct Push技术、Exchange策略等详细细节的配置。
使用Windows Mobile设备上的软件方案能让你更好的处理工作中的大量信息。Windows Mobile移动设备与微软的Exchange Server之间可以实现无缝的数据通信,大量的第三方软件可以让你很轻松的存取和处理商业数据。

MSDN 关于 Windows Mobile 开发的网络广播精彩回顾
您想知道Windows Mobile5.0中C/C++ APIs的变化或新增的内容吗? 本次课程重点讨论在我们的应用程序中如何使用它们,包括:软键,状态与通知,新的eDB数据库,如何使用数码相机获得图像,如何编写消息应用,Pocket Outlook对象模型的新增特性等等。
本次课程以大量的实例教你学习如何使用Windows Mobile 5.0 托管代码API在Pocket Outlook上进行一些数据的存取,例如联系人、任务以及约会等项目。你还将学会如何在应用程序中使用文本消息或者处理电话功能。
如果你正在寻找具有实时定位功的移动设备或者想在移动解决方案中集成地图和汽车定位的功能,MapPoint正好提供了能够创建这些功能的开发工具。在本次课程中,Mobile企业产品开发部门的成员将会向你验证MapPoint的强大功能和良好的性能,以及如何利用MapPoint Web Service开发高性能的移动应用方案。
本次课程讨论开发者在创建移动应用方案时需要用到的各种安全考虑,以及实现这些安全方案的工具、技术和策略。你将学会如何使用.NET Compact Framework提供的安全措施来提升文件存储和数据传输的安全性。
本次课程中,微软专家将向你介绍如何用.NET Compact Framework构建出具有最优化的性能的应用程序,使你的程序在设计之初就拥有良好的表现性。

移动和嵌入式开发相关技术文章
Windows Mobile 5.0 SDK 文档新增了程序示例代码、练习指导、错误判断、以及有关安全和应用程序移植的内容。
这篇文章总结了构建基于Windows Mobile系统的二进制级可移植的应用程序的关键概念并给出了一些练习。
这篇文章对如何用托管wrapper编写具有点对点功能的消息队列,这与Windows CE.NET有很大的不同。
这篇文章将介绍如何使用Odyssey公司的Athena软件提供的XML Web Service来操控Pocket PC。在对Athena和设备控制作了简要介绍之后,你还将看到用Visual C#代码写的应用程序用户界面示例。
这篇文章讨论了如何利用应用验证程序来增加嵌入式Windows CE和Windows Mobile应用程序的稳定性。

下载
? ActiveSync 3.8
? MSN Messenger 更新
? .NET Compact Framework 1.0 SP2 Developer Redistributable
? Mobile 应用开发工具包
相关链接
? 基于 Windows Mobile 的 Pocket PC
? 基于 Windows Mobile 的 Smartphone
? 基于 Windows Mobile 的 Portable Media Centers
? Windows Mobile 开发人员中心
? Windows Mobile 中文社区
? 微软中文开发者社区
? 在线技术支持
与我们联系
微软将一如既往地对基于Windows Mobile操作系统开发的独立软件开发商和开发人员进行支持,并且正在建立微软与您之间的沟通渠道。为了能够给您提供更加切实可行的支持与帮助,微软希望能够听到您的声音。您有任何关于Windows Mobile的建议和想法,请发送邮件给我们

请您在邮件中写清联系方式,包括姓名、单位、联系电话、电子邮件、通讯地址、邮政编码等,我们将根据建议的具体内容评选出最有贡献的建议,赠送微软提供的精美礼物。

Mobile Application Development Toolkit
若想取消订阅此新闻快递,请回复本邮件并在主题行中键入 UNSUBSCRIBE。您还可以在 http://www.microsoft.com/misc/unsubscribe.htm 取消订阅。可以通过此站点管理所有 microsoft.com 通讯首选项。

法律信息。

此新闻快递是由 Microsoft Corporation 发送的。

订阅其它的 Newsletter | 取消订阅 | 更新个人信息资料

? 2005 Microsoft Corporation 保留所有权利 | 商标 | 隐私声明

Microsoft
发表在 未分类 | 评论关闭

Mobile WebCast黄金周有礼了

海峡两岸共推移动开发黄金周 百份大奖等你拿
        金秋十月,微软MSDN Webcast联合Windows Mobile部门精心策划并推出了十月移动开发技术黄金周活动,数位微软最有价值专家将为您带来6场Mobile开发的网络广播课程。我们将见到马宁,侯月文,张一雷,张欣给我们带来的精彩讲程,另外我们还特别邀请到了具有丰富移动企业应用开发经验的台湾讲师叶佰苍,他将带来有关台湾Mobile开发的经验和最新讯息。 
        6场讲座内容包括基础的UI界面设计,企业应用开发的移动数据库编程,更有跟游戏开发息息相关的Direct 3D移动编程。所有的讲座将用.NET Compact Framework 2.0和微软最新的开发工具Visual Studio 2005来讲解,您将感受到微软强大技术带来的全新体验。 
        除了技术上的惊喜,微软Windows Mobile部门还准备了百份礼物。只要您参与我们的讲座,就有机会赢得,参与全部6场讲座的听众另有奖品相送。详情请查看MSDN网站http://www.microsoft.com/china/msdn/events/webcasts/shared/webcast/consyscourse/Mobilegoldenweek.aspx

Windows Mobile新闻ISV(中文版) 新增第五期

发表在 未分类 | 13条评论

TechEd 2005之ED:MCSE2003考试优惠免费MCSE2003

在Tech Ed被译为微软技术大会之前,一直叫做微软技术教育大会。新的说法是从去年开始的。究其原因,绝对不是象新京报的这篇报导上说的所谓“教育”往往给人一种居高临下的感觉,演讲者高高在上,具有相当的心理优势;而听众往往只能静静地聆听,扮演着“学生”的角色。诚然,微软在软件领域的成就,在中国的软件企业看来,在相当长一段时间内,几乎是可望而不可及的。但是,如果微软因此沾沾自喜,并将这种心态带到与用户打交道中来,就显得有些不合时宜了。

当然这只是中文说法的变化,只能证明微软在中国的教育认证部门被其它光源所掩盖。我记得美国MS员工是可以免费参加MCSE/MCSD考试的,中国微软员工例外。Tech Ed作为微软在许多国家和地区的重要会议,使用的是相同的会标。ED的含义微软的掌管教育部门和广大的技术培训中心会在大会上给大家做更大的贡献。在这次北京的TechEd上可以免费参加新一代模拟型考试和免费升级MCSE2000到MCSE2003,假如参加MCSE2003考试可以享受200元每门的优惠。

详见http://www.microsoft.com/china/teched/events/exam.asp.

发表在 未分类 | 4条评论

TechEd 2005:

 无线增值行业的发展速度几乎可以用空前来形容,HopeQ不止一次说我们拓杰凯业Team提供WAP技术服务是个好行业,其实我们Team立足Mobile,WAP技术服务只是我们工作的很小的一部分。中国联通、中国电信、中国网通也开始启动类似于中移动MISC平台的管理办法,另中移动分成新政出水,SP淘汰战马上就会一触即发;中移动的目标是构建一个大量CP+少数大SP+移动运营商”的移动增值服务产业链,其实对我们大家公司和个人来说都是一个难得的机会。很多中小公司都在进行SP(服务提供商)->CP(内容提供商)->TP(技术提供商)转变,我们团队一开始就立足于TP,看来竟争会越来越烈。
在这个月的TechED 2005上,我在北京和广州有一个<如何使用ASP.NET Mobile Controls开发Mobile Web应用>Session。这个session将讲述无线增值行业的发展以及当前开发技术(Asp.net 1.1 mobile control及Asp.net 2.0), 以及如何使用手持设备适配信息和设备适配库、Device Filters定制、模板定制、以及在XHTML浏览器的CSS Stylesheets创建更酷的Wap增值应用。

以前MCS的同事薛强说他再发热就去学医,专门研究病毒。傅彪的离去应该给应该大家带来深思,我们想一想马华,陶金,还听说孙悦现在心脏有问题也躺在医院。祝大家身体、健康、事业和学习,爱情友情亲情所有的一切一切都象很早以前刘德华的爱立信广告上说的:“一切都在掌握”。

Developing on the Windows Embedded for Point of Serice (POS) platform? The Microsoft POS for .NET Software Development Kit version 1.0 includes everything you need to write, build, and test service objects or applications that use POS for .NET.
发表在 未分类 | 一条评论

您Mobile NewsLetter了吗?

您听说过面向移动应用程序开发者的月度期刊吗?它将带给您有关 Windows Mobile 平台最新的技术信息、开发资源、开发工具,以及 Windows Mobile 开发平台上的最新消息(Pocket PC 和 Smartphone)。通过此期刊您还可以得到网络广播的最新课程信息和课程的基本介绍,了解 Windows Mobile 技术的发展趋势。不会您现在还没有订阅吧,请点击http://www.microsoft.com/china/newsletter/订阅。

BlueInkstone所在的拓杰凯业团队很荣幸获得Mobile ISV的News Letter制作任务,终于不辱使命,在广大在线朋友特别是CSDN的朋友们大力帮助下,制作出了2005年度8月刊。本月刊主要包括新闻,Mobile WebCast精彩回顾和Mobile WebCast预告以及一些移动和嵌入式开发相关技术文章。

对我来说,这个月最激动人心的莫过于辛浩和胡浩的WebCast都超过了8分(总分9分),特别是张欣讲出了我见到WebCast的最高分,自以为资深讲的我不服不行。9月份的TechEd一定会见到张欣的身影了。

其实下个月的WebCast好戏也连台,最吸引人的莫过于2005年9月9号高惠杰会给我们大家讲”Windows Mobile5.0 开发新特性”了,我到时一定会准时参加;接下来是9月12上午马宁的”Windows Mobile 5:让你的企业动起来”,我当然也不会错过;最后辛浩的”基于Exchange 2003 SP2的Windows Mobile新特性”是我的最爱了,我这几天天天都在钻研这个好东东,还想计划搞一个基于Exchange 2003 SP2的体验计划(希望有兴趣的朋友跟我联系),但辛浩讲这个Topic时我应该在去西雅图的飞机上,恐怕是听不成了。

欢迎大家提出宝贵意见,以及对我们以后的工作做出指导,有任何问题可以发信给

发表在 未分类 | 3条评论

Windows Mobile新闻ISV(中文版)第四期24号刊 2005年8月

Banner Image

Newsletter Image
第4期 24号刊

2005年8月
面向移动应用程序开发者的月度期刊。将带给您有关 Windows Mobile 平台最新的技术信息、开发资源、开发工具,以及 Windows Mobile 开发平台上的最新消息(Pocket PC 和 Smartphone)。通过此期刊您还可以得到网络广播的最新课程信息和课程的基本介绍,了解 Windows Mobile 技术的发展趋势。

新闻
微软移动产品包(Microsoft Productivity Pack) ?
微软和其它三个优秀的软件公司一起创建了微软移动产品包,微软移动产品包中包括两个常用的基于 Windows Mobile 设备的程序:Fizz 软件公司的 Fizz Traveller 软件和 OmegaOne 公司的 1-Calc Litel 软件。产品包中还包括 Jeyo 公司的 Jeyo Mobile Extender,可以在桌面应用程序中使用短消息和您的移动朋友联系。
宣布推出 Windows Mobile 5.0 消息和安全功能包 ?
Windows Mobile 5.0 消息和安全功能包能够更好地与 Microsoft Exchange Server 2003 SP2 协作,从而提供即时、可伸缩和高效安全的移动消息解决方案。通过该解决方案,信息工作者可以随时随地获取最新的 Microsoft Office Outlook Mobile 信息;而且,该解决方案还能帮助企业管理移动设备,更好地保护移动设备上数据的安全。
三星 SCH-i730 大揭密 ?
想知道别人对新的三星 SCH-i730 Pocket PC 电话评价如何吗?看看是否需要拥有自己的 i730。
Exchange 03 SP2 测试版发布 无线电邮是亮点 ?
CNET 科技资讯网8月18日国际报道 微软计划在本周五发布一款 Exchange 2003 服务包的限制预览版,其中包括用于向移动设备发送电子邮件的最新工具。该服务包中最引人注目的元素是将电子邮件发送到移动设备的工具,微软将这一工具称作“直推技术”,它直接将电子邮件由 Exchange 发送到 Windows Mobile 上,向用户提供一种更快速、有效的电子邮件收取方式。这一技术代表着 Exchange 2003 在移动能力方面的巨大进步。
微软发布 Global Contact Access 增强 Exchange 无线应用 ?
7月9日,微软发布 Global Contact Access,该软件允许你的 Windows Mobile 设备无线访问 Exchange 服务器,察看你同伴的工作进度,看他们是否有空闲,还可以个多人发送会议请求。如果你需要远离办公室进行工作,该软件将是一个很好的帮手。

ISV 文章
提高效率:移动办公

当您外出时,您和您团队的工作效率是否受到影响?
您是否可以随时随地访问信息?

当您在旅途中或在“虚拟”工作时,通常很难答复重要的电子邮件、管理日历以及与同事保持联系。这可能导致您与公司失去联系,并导致工作效率降低。

通过将 Windows Mobile 和 Microsoft Office 配合使用,您及您的组织可以实时地访问信息(无论您是否在办公室),因此您可以始终掌握最新的信息。

使用基于 Windows Mobile 的设备时,Microsoft Office 和 Windows Mobile 软件使您及您的员工可以移动办公,随时随地实时访问所需的信息。移动产品(例如,基于 Windows Mobile 的 Pocket PC Phone)具有袖珍版的 Microsoft Outlook、Word 和 Excel,这样,即便外出时您也可以与公司保持联系并继续工作。

在基于 Windows Mobile 的设备上访问重要的 Microsoft Outlook 数据:

?
Microsoft Outlook 电子邮件功能:完整、丰富且带附件的电子邮件,使您可以在旅途中快速筛选电子邮件。
?
Microsoft Outlook 日历:以多种方式查看日历、接受或拒绝会议邀请,等等。
?
Microsoft Outlook 联系人:使移动设备与台式机保持同步,以便可以始终保持联系。
?
Microsoft Outlook 任务:随时随地添加待办事项。
?
ActiveSync:使基于 Windows Mobile 的设备上的所有数据与 Microsoft Office 中的数据保持同步。
?
OneNote:制作语音或手写便笺,并将其同步到 Office OneNote 中,以便与您的创意无缝集成。

您是否进行商务旅行?请了解有关适用于基于 Windows Mobile 的设备的一些受欢迎的商务旅行程序和应用程序的详细信息。

7个技巧教你玩转 Pocket Word ?
这篇文章介绍了 Pocket Word 的基本功能和一些使用技巧,能帮助你最大限度的利用好这些功能。
Windows Mobile 设备上的 GPS 入门 ?
这是一篇介绍如何在 Windows Mobile 设备上使用 GPS 的文章,如果你还不了解什么是 GPS 以及如何使用 GPS,这篇文章可以很好的带你入门。除了介绍一些常用的软件和硬件以外,还有一些使用上的建议。

网络广播预告
2005年9月 Windows Mobile 5:让你的企业动起来 –马宁
本讲座主要介绍 Windows Mobile 5 企业移动办公的新特性,让用户了解 Windows Mobile 5 在移动办公方面可以帮助企业提升价值。主要讲解在 Windows Mobile 5 的新特性中增加的 Office Mobile 办公套件,包括 Word Mobile、Excel Mobile、Outlook Mobile 和 PowerPoint Viewer。讲解如何结合 Outlook Mobile 和 ActiveSync 4.0 的功能,通过 Exchange 服务器进行邮件、约会等方面的设置和管理。(详情请访问网络广播预告…
2005年9月基于 Exchange 2003 SP2 的 Window Mobile 新特性 — 辛浩
讨论 Exchange 2003 Sp2 带来的关于移动设备的新特性,关于:全球地址本使用、远程删除信息、Exchange Direct Push 技术、Exchange 策略等详细细节的配置。(详情请访问网络广播预告…
2005年9月 Windows Mobile5.0 开发新特性 –高惠杰
您想知道 Windows Mobile 5.0 中 C/C++ APIs 的变化或新增的内容吗? 本次课程重点讨论在我们的应用程序中如何使用它们,包括:软键,状态与通知,新的eDB数据库,如何使用数码相机获得图像,如何编写消息应用,Pocket Outlook 对象模型的新增特性等等。(详情请访问网络广播预告…
基于 Microsoft Windows Mobile 平台的移动系统,能为企业级的应用提供丰富支持。本次课程主要讲解 Windows Mobile 的企业应用特性。

TechNet 关于 Windows Mobile 的网络精彩回顾
本次课程重点讨论基于 Exchange 2003 的关于移动设备 ActiveSync 和 OMA 相关故障的排错,包括如何配置 SSL、在 Exchange 上安装证书,配置 ISA 及移动设备,以及 Http 错误代码含义等常规排错技巧。
没有什么事物比移动更精彩的了,但如何管理移动设备是一个大大的挑战。本次课程重点讨论所有微软移动设备的管理组件,掌握微软的移动平台如何支持象应用程序配置和强制性安全等设备管理任务。

MSDN 关于 Windows Mobile 开发的网络广播精彩回顾
介绍 Windows Mobile 5.0 的开发工具、用户界面、常用控件和 Notification 控件等。主要介绍 Windows Mobile 5.0 在用户界面上的变化,以及开发者如何使自己的应用程序适应这种变化;以及新增的常用控件、自定义窗体等,最后介绍在 .NET Compact Framework 2.0 中如何方便地调用 Notification 控件。
介绍在开发 Windows Mobile 应用程序的时候,需要考虑的一些用户交互上的问题。讲述设计 Windows Mobile 应用程序界面的一些原则,以及提高 Windows Mobile 应用程序的性能的一些技巧。
因为移动设备的使用方式和网络状况,智能客户端在移动设备上的价值和基于 Web 编程模型相比更为重要。本次课程重点讨论使用 Visual Studio 2005 和 .NET Compact Framework 和他的编程模型创建企业和客户端应用。
Microsoft .NET Compact Framework 2.0 支持 Microsoft Message Queuing Service (MSMQ),MSMQ 也增加了移动开发人员需要的消息选项。MSMQ 现在可以用到联系 Web services,使用 Sockets 创建自定义协议和特定的同步技术,比如使用 Microsoft SQL Server 移动版 进行远程数据访问和同步。本次课程重点比较各种消息方法的可靠性、安全性以及易用性,帮助大家根据自己的需要选择最有效的方案。

移动和嵌入式开发相关技术文章
MSDN 中文
从开发人员的观点来了解 Windows Mobile 版本 5.0 中的新增功能。
本文讨论有关将用 eMbedded Visual Basic 编写的 Pocket PC 应用程序迁移到 .NET Compact Framework 的问题。迁移包括从使用 ADO CE 访问 Pocket Access 数据库中的数据更改为使用 ADO.NET 访问 SQL Server CE 中的数据。本文提供了 Visual Basic 和 C# 两种版本的示例代码。
双启动是玩转 Windows XP Embedded 时最常用的目标方法之一。本文讨论解决双启动配置问题的某些技巧。
本白皮书概述如何支持基于 Microsoft? Windows? XP Embedded 的设备。支持嵌入式设备涉及到维护设备和支持嵌入式设备用户。本白皮书解释对维护设备(使用带有 Service Pack 2 的 Windows XP Embedded)的更新过程所进行的更改,并且概述可以用来部署更新的维护机制。该白皮书还提供了有关支持嵌入式设备用户的建议。
本练习旨在让您了解,如何将现有应用程序转换成能够识别横向和屏幕分辨率的应用程序。完成该练习大约要花一个半小时。
Windows Mobile 2003 Second Edition 或更高版本的软件支持方形屏幕 (square screen)。了解将一个全屏游戏从纵向模式移植到方形屏幕时,你可能会遇到的不同情况。
这篇文章讲解了 Windows CE 下进程和线程的概念。了解在何种情况下需要创建多线程应用程序,文章还涉及到大量多线程应用程序托管类的细节,以及多种实现多线程同步的方法。
这篇文章解决了 Windows Mobile 平台上应用程序移植的常见问题,包括在 PocketPC 平台和 Smartphone 平台之间以及不同版本的 Windows Mobile 平台上移植应用程序时的主要问题。
这个由六篇文章组成的合辑,全面地介绍了 Windows Mobile 5.0 的新特性,包括开发工具、API、下载以及安装等知识。
这篇文章介绍了用 Visual C++ 2005 开发 Windows Mobile 本地应用程序,介绍了一些对话框和控件的创建方法,适宜有一定 Windows 开发基础的开发者阅读。

下载
? ActiveSync 3.8
? MSN Messenger 更新
? .NET Compact Framework 1.0 SP2 Developer Redistributable
? Mobile 应用开发工具包
相关链接
? 基于 Windows Mobile 的 Pocket PC
? 基于 Windows Mobile 的 Smartphone
? 基于 Windows Mobile 的 Portable Media Centers
? Windows Mobile 开发人员中心
? Windows Mobile 中文社区
? 微软中文开发者社区
? 在线技术支持
与我们联系
微软将一如既往地对基于Windows Mobile操作系统开发的独立软件开发商和开发人员进行支持,并且正在建立微软与您之间的沟通渠道。为了能够给您提供更加切实可行的支持与帮助,微软希望能够听到您的声音。您有任何关于Windows Mobile的建议和想法,请发送邮件给我们

请您在邮件中写清联系方式,包括姓名、单位、联系电话、电子邮件、通讯地址、邮政编码等,我们将根据建议的具体内容评选出最有贡献的建议,赠送微软提供的精美礼物。

Mobile Application Development Toolkit
若想取消订阅此新闻快递,请回复本邮件并在主题行中键入 UNSUBSCRIBE。您还可以在 http://www.microsoft.com/misc/unsubscribe.htm 取消订阅。可以通过此站点管理所有 microsoft.com 通讯首选项。

法律信息。

此新闻快递是由 Microsoft Corporation 发送的。

订阅其它的 Newsletter | 取消订阅 | 更新个人信息资料
发表在 未分类 | 评论关闭

使用IFormatProvider接口和GetFormat方法格式化输出

如何把任何进制字符串转成整数是很简单的,通常都使用
a. Convert.ToInt32(string value,? int fromBase);
b. Int32.Parse(string?s,?NumberStyles?style);

c. Double.TryParse(
string s, NumberStyles style, IFormatProvider provider, out int result);
我们可以通过设置fromBase或NumberStyles来控制是哪种进制的数值,比如:

// 0x前缀可选
string s = 0x8564;
int?nRet = Convert.ToInt32(s, 16);

这三种方法不同是如果解析失败,Int32.Parse(s)总会抛出异常;Convert.ToInt32(s)在s为null的情况下不会抛出异常而是简单的返回0给调用方;而Double.TryParse(ss, nRet)则无论如何都不抛出异常,只会返回true或false来说明解析是否成功,如果解析失败,调用方将会得到0值。

但在C#中把一个整数转成二进制或十六进制字符串输出怎么办呢,在C++或MFC中格式化输出是非常简单的,使用printf或CString的Format一句话就搞定:

printf( "Decimal %d as:\n Hex: %Xh C hex: 0x%x Octal: %o\n",count, count, count, count ); CString strOutput; strOutput.Format("Decimal %d as:\n Hex: %Xh C hex: 0x%x Octal: %o\n",count, count, count, count);

?我问HopeQ, 他是高手中的高手,他告诉我没有现成的办法,那就只能不停的以基数取模并除以基数构成一个字符串了。本来自己飞快的写了一个函数,后来一看MSDN,在MSDN的源代码中有一个类叫AnyRadix,AnyRadix 实现ICustomFormatter, IFormatProvider接口,也不错。

感谢Cavingdeep帮助,说.net还是提供了这样的函数Convert.ToString Method (Int32, Int32),向Cavingdeep学习.

int n = 89;
string str = Convert.ToString(n, 2);

发表在 未分类 | 8条评论

走进移动地带、打造移动开发新金领

首次的Nokia在中国大陆的培训终于要开张了,我来主讲,内容当然是讲我最拿手的S60 C++开发。想当初想要得到Nokia的培训,也只能去香港,新加坡,英国或美国。下面是中科软发布的培训报名通知。

移动开发免费技术讲座/培训课程– #5300 Series 60 Platform C++ Development:

北京,312/18

Nokia(中国)/中科院软件所培训中心将于3月12日下午2点在北京联合举办移动应用开发免费技术讲座。讲座将包含两部分内容:第一部分是S60开发概述(什么是Symbian以及Symbian许可,Symbian设备;Symbian OS及Symbian的发展历史;S60许可,设备以及版本历史和开发平台…..);第二部分是Symbian开发基础(Symbian基本类型,Symbian使用变量和函数编码规范,以及各种类型间的转换操作….来介绍创建Symbian应用一名开发者所必备的知识)

相关的培训课程将于3月全面铺开,首次#5300– Series 60 Platform C++ Development将于3月18日开始、共3天,课程内容包括:

1. Series 60 History And Introduction

2. Series 60 SDK Introduction (Standard SDK)

3. Symbian OS Development Basics

4. Memory And Resource Management

5. Descriptors

6. Series 60 SDK Revisited

7. Series 60 Application Structure Overview

8. Resource And Localization Files

9. UI Controls

10. Client/Server Framework

11. The Active Object Framework

12. Series 60 UI Features

13. Deployment Of Series 60 Solutions

14. Outputting Text And Graphics

15. Data Persistence

16. Communications

17. Multimedia

18. Data Application Engines

19. Series 60 SDK Introduction (Metrowerks CodeWarrior IDE)

更多信息或注册, 请e-mail 给: 或致电at 010-82623145 / 82623146 或访问 www.isedu.com.cn

座位有限,先到先得。

    内容: 移动开发技术概览

    时间: 2005年3月12日(星期六)下午 14:00

    地点: 北京市海淀区中关村北四环西路33号4D       地理位置图

           中国科学院文献情报中心(西北门四层)  中国科学院软件研究所高级技术培训中心

相关报道:

NOKIA: 诺基亚为国内开发商推出全套培训项目,倾力推动移动应用开发

程序员(Csdn):[培训]诺基亚为国内开发商推出全套培训项目,倾力…

通信世界网: 诺基亚为国内开发商推出全套培训项目推动移动应用开发

网易: 诺基亚论坛推出培训新模式 中科软3月18开课

中科院软件所:恭贺马骐老师成为Nokia认证中国第一人

发表在 未分类 | 15条评论

运用特种兵作战,百万富翁和msn工具条

特种兵作战的时代到了?是的。

读MVM写做军官还是做特种兵感叹,其实大家都有同感,运用特种兵作站真是非常的不错,但是不是每个人都有特种兵的潜力(我就参加铁人三项大赛的能力都没有,但一直都是梦想,高中三年天天早上跑步游泳,连冬天也没放过,还是不行啊),而且特种兵费用是非常的可观的,不是每个公司都养得起。只有在执行特种任务时才运用特种兵,真正打仗还是常规兵种(我知道豆腐、开心象我一样,天天干杂活,革命的砖,哪里需要哪里搬)。

这样运用特种兵作战就不可能了?不。至少微软是提供特种兵服务的,而且不是可欲不可求。有特种兵参与作战,会让你从此与众不同。我在工作中碰到紧急的问题就打800-820-3800,不为别的,兵贵神速,就为节省时间,时间长了,基本上我能在他们前面解决问题了(他们要并行做好多Case,我可是一心一意的,看来我还是要加油)。加上每次都要填写反馈表的,我都认识了一些GTEC的工程师(每次都是晓卓、许斌几个和我工作相关的人)。

看明白了吗?上海的Microsoft GTEC的某些部门和Microsoft MCS部门,就是最牛的特种兵部队,他们随时准备拿着M16开着直升机给大家用最效的办法解决问题。(我猜MVM就一直在GTEC做这样的工作,所以一定是个很牛plus很贵的人。)

根据《USA Today》调查,成为百万富翁的概率:

1: 拥有一家小公司 1000:1

2.为一家上市的公司工作 10,000:1

3.30年中,每月存800美金,150,000:1

4.在比赛中获胜 4,000,000:1

5.在赌场玩老虎机 6,000,000:1

6.中彩票 12,000,000:1

7.继承100万遗产 12,000,000:1
通过概率最小的方法成为百万富翁的一定是最牛的,我也想……,但做那个最不牛的。

特早的时候我就在MVP私有站点申请MSN工具条的Beta测试,但是没有成功(因为我还没有申请完呢,Microsoft把MSN工具条公开发布了),现在可以在http://toolbar.msn.com直接下载了。为什么我特喜欢这个工具呢?因为这个工具有一个防止弹广告窗口的开关以及一些hotmail的选项,很方便,而且那样就可避免了一些Spyware的干扰了。唯一不爽的是下载的中文版集成的我最讨厌的3721,安装了3721就没有办法访问局域网的主机,还有网络反应慢一点就去访问3721的站点,反感之极。于是乎我就学了个乖,直接下载英文版,就没有这个烦心了。

发表在 未分类 | 12条评论