我的 Netduino 2
时间:2014-05-01 20:09:08
收藏:0
阅读:632
关注net
mf半个月了,一直在Netduino论坛、net mf群里潜水学习,有了一些收获。
前两天开始画PCB,基于Netduino2,精简了大部分内容,只保留了2个LED,2个按键。
它看起来像这样:
实物图:
我使用Jlink下载Tinybooter,2线SWD方式,下载十分方便~我尝试了Tinybooter.s19、Tinybooter.hex、Tinybooter.bin,但它们并没有开始工作,windows没有得到任何反馈,看起来完全不是新设备接入的样子
╭(;?д?)╮
检查硬件后发现LED(PA10)忘加10k上拉,pdf中备注启动时必须为高,飞线连接后还是不能连接。
感觉一直有什么事没完成,,仔细一看
USB只焊了GND&VBUS,重新焊接 连上主机即提示:
更新固件至4.3.1.0
重新上电 MFDeploy
识别正常 :D 马上用VS2013写了个 sample~
OutputPort led = new OutputPort(Pins.ONBOARD_LED, false); while(true) { led.Write(true); Thread.Sleep(250); led.Write(false); Thread.Sleep(250); }
它看起来像这样 :D
写了按键sample,在单片机中用事件驱动~
InterruptPort button = new InterruptPort(Pins.ONBOARD_SW1, true, Port.ResistorMode.Disabled, Port.InterruptMode.InterruptEdgeHigh); button.OnInterrupt += new NativeEventHandler(button_OnInterrupt); InterruptPort button1 = new InterruptPort(Pins.GPIO_PIN_D3, true, Port.ResistorMode.PullUp, Port.InterruptMode.InterruptEdgeLow); button1.OnInterrupt += new NativeEventHandler(button_OnInterrupt); //在对应边沿触发,使用了软件防抖 static void button_OnInterrupt(uint data1, uint data2, DateTime time) { if (lasttime.AddMilliseconds(400) < time) { Debug.Print(data1.ToString() + "," + data2.ToString() + "," + time.ToString()); lasttime = time; ledflag = !ledflag; led.Write(ledflag); } }
后面测试了多线程,实现也比较简单,C#写代码十分舒服~
下一步准备diy具备更多外设的Netduino2
& Netduino Plus 2~
评论(0)