.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口。
四、 Microsoft.Spot.Hardware
命名空间Microsoft.Spot.Hardware是MF操作硬件设备的程序集,在这里是操作LED灯,我们只贴出与此相关的类图。
这里是关于输入输出端口的类图。控制LED灯是要输出高低电平,因此,我们再看OutputPort类的结构。
上ILSpy,看代码实现。
ILSpy官网: http://www.ilspy.net/
如果程序集列表中无此程序集,自己想办法添加。
添加步骤如下,看图,不多说:
本机目录地址:
C:\Program Files (x86)\Microsoft .NET Micro Framework\v4.2\Assemblies\be
点击打开,将会添加到ILSpy中。OutputPort如下:
InitalState为GPIO端口初始状态。
构造函数参数portID为GPIO端口序号,类型为Cpu.Pin,稍后再述。
Write(Boolean):输出GPIO状态,如果置为高电平,即为ture,反之,自己想。
这里只有输出状态,那读状态在哪呢?在父类Port里面。
返回Boolean类型,表示端口当前状态。
Cpu.Pin是一个枚举,代表GPIO端口的状态。在MF里面,只内置了16个,序号从0~15,代表PA0~15。(就这一点,我花了两小时,才弄明白,很是疼啊)
五、 控制LED代码
都是写代码的人,不多说,看了就懂了。
先引用Microsoft.Spot.Hardware
代码说明:
OutputPort port0 = new OutputPort(Cpu.Pin.GPIO_Pin0, false); 定义PA0端口的初始状态为关。
port0.Write(!port0.Read()); 读出端口状态,取反写入相反状态。
这样,可以将GPIO端口为闪烁效果。
六、 接线
接线时需要按照原理图的标识,先上原理图(图片位置:文档左上角):
对应板子上面的:
此图为示意图,不是本文中描述的接线图,接线图看后面的演示效果视频。
七、 效果
编译代码,布署,看效果。
视频下载
八、 下载
相关资源:
1.QQ群:1600838
2.博客:http://www.cnblogs.com/nnhy/
3.论坛:http://www.53wb.com/