??? 最近為了測試netduino開發板的各個端口是否正常使用,讓同事寫了一些測試程序,結果出了問題,他的測試程序導致開發板無法發布程序進去,按他的結論是開發板有問題,針對這個情況,我們經過仔細分析代碼,認為問題出在代碼的寫法上。代碼如下
using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using System.IO.Ports;
using System.Text;
namespace NetduinoApplication1
{
??? public class Program
??? {
??????? static SerialPort _SerialPort;
??????? public static void Main()
??????? {
??????????? OutputPort op = new OutputPort(Cpu.Pin.GPIO_Pin12, false);
??????????? while (true)
??????????? {
??????????????? op.Write(false);
??????????????? Debug.Print(op.Read().ToString());
??????????????? Thread.Sleep(1000);
??????????????? op.Write(true);
??????????????? Debug.Print(op.Read().ToString());
??????????????? Thread.Sleep(1000);
??????????? }
??????? }
??? }
}
代碼很簡單吧,只是在讀取和設置GPIO_PIN12。不過總感覺有不對勁的地方,代碼中OutputPort op = new OutputPort(Cpu.Pin.GPIO_Pin12, false);這部分感覺不對
原因很簡單,我曾經分析過SecretLabs.NETMF.Hardware.Netduino,在這里看到過針對于netduino的管腳封裝,因此基本可以判定是管腳不一致導致的。
重新刷固件后,修改代碼為
先using SecretLabs.NETMF.Hardware.Netduino;
再修改OutputPort op = new OutputPort(Cpu.Pin.GPIO_Pin12, false);
為
OutputPort op= new OutputPort(Pins.GPIO_PIN_D12, false);
運行一切正常,后來查資料,原因是netduino的管腳封裝和micr framework的管腳封裝不同導致的,netduino的封裝上跟arduino一樣,所以導致了這個問題。
但私下想為啥就不能netduino的管腳與mircro framework一樣呢,這真的很奇怪,這個答案得問那幫搞netduino開源的人。
?
我的淘寶
http://item.taobao.com/item.htm?spm=a230r.1.14.206.XnsUQY&id=21448079990
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
