LED灯控制

  .NET MF系列目录: http://www.cnblogs.com/lscy/archive/2012/08/23/2651768.html

 

一、 目录

1. STM32F103单片机

2. GPIO

3. Microsoft.Spot.Hardware

4. 控制LED代码

5. 接线

6. 效果

7. 下载

 

二、 STM32F103单片机

俺是做软件的,硬件不做过多介绍。

Stm32F103:百度文库

 

三、GPIO

     昨天刚开始学习MF,刚拿到“探索者一号”时,无从下手。大石头反复提到的一个名词:GPIO。因此花了一点时间来了解啥叫GPIO(点击,跳转到百度文库关于GPIO的解释)。

    从百度文库摘下关于GPIO的描述:

General Purpose Input Output (通用输入/输出)简称为GPIO,或总线扩展器,利用工业标准I2C、SMBus™或SPI™接口简化了I/O口的扩展。当微控制器或芯片组没有足够的I/O端口,或当系统需要采用远端串行通信或控制时,GPIO产品能够提供额外的控制和监视功能。

    看“探索者一号”的原理图,头大,看不懂。找来做硬件的同事,教我。STM32F103单片机总共有7组GPIO端口,PA0~15……PG0~15,共16*7 = 112个GPIO口。

clip_image002

 

四、 Microsoft.Spot.Hardware

    命名空间Microsoft.Spot.Hardware是MF操作硬件设备的程序集,在这里是操作LED灯,我们只贴出与此相关的类图。

clip_image004

    这里是关于输入输出端口的类图。控制LED灯是要输出高低电平,因此,我们再看OutputPort类的结构。

clip_image006

    上ILSpy,看代码实现。

    ILSpy官网: http://www.ilspy.net/

clip_image008

    如果程序集列表中无此程序集,自己想办法添加。

   添加步骤如下,看图,不多说:

clip_image010

clip_image012

本机目录地址:

C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\be

clip_image014

点击打开,将会添加到ILSpy中。OutputPort如下:

clip_image016

InitalState为GPIO端口初始状态。

构造函数参数portID为GPIO端口序号,类型为Cpu.Pin,稍后再述。

Write(Boolean):输出GPIO状态,如果置为高电平,即为ture,反之,自己想。

这里只有输出状态,那读状态在哪呢?在父类Port里面。

clip_image018

返回Boolean类型,表示端口当前状态。

Cpu.Pin是一个枚举,代表GPIO端口的状态。在MF里面,只内置了16个,序号从0~15,代表PA0~15。(就这一点,我花了两小时,才弄明白,很是疼啊)

clip_image020

 

五、 控制LED代码

都是写代码的人,不多说,看了就懂了。

先引用Microsoft.Spot.Hardware

clip_image022

代码说明:

OutputPort port0 = new OutputPort(Cpu.Pin.GPIO_Pin0, false); 定义PA0端口的初始状态为关。

port0.Write(!port0.Read()); 读出端口状态,取反写入相反状态。

这样,可以将GPIO端口为闪烁效果。

 

六、 接线

接线时需要按照原理图的标识,先上原理图(图片位置:文档左上角):

clip_image024

对应板子上面的:

clip_image026

此图为示意图,不是本文中描述的接线图,接线图看后面的演示效果视频。

 

七、 效果

编译代码,布署,看效果。

视频下载

八、 下载

探索者原理图

 

 相关资源:

1.QQ群:1600838

2.博客:http://www.cnblogs.com/nnhy/  

3.论坛:http://www.53wb.com/

 

 

posted @ 2012-08-23 00:58  哑吧湖大水怪  阅读(893)  评论(0编辑  收藏  举报