关注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~
我的 Netduino 2,码迷,mamicode.com