{{ 'fb_in_app_browser_popup.desc' | translate }} {{ 'fb_in_app_browser_popup.copy_link' | translate }}
{{ 'in_app_browser_popup.desc' | translate }}
{{ childProduct.title_translations | translateModel }}
{{ getChildVariationShorthand(childProduct.child_variation) }}
{{ getSelectedItemDetail(selectedChildProduct, item).childProductName }} x {{ selectedChildProduct.quantity || 1 }}
{{ getSelectedItemDetail(selectedChildProduct, item).childVariationName }}
貨號:MCO0076
商品存貨不足,未能加入購物車
您所填寫的商品數量超過庫存
{{'products.quick_cart.out_of_number_hint'| translate}}
{{'product.preorder_limit.hint'| translate}}
每筆訂單限購 {{ product.max_order_quantity }} 件
現庫存只剩下 {{ quantityOfStock }} 件
LinkIt ONE 開發板是針對可穿戴式和物聯網特別開發出來的一款開源、高性能的8合1無線開發板,板載聯發科ASTER(MT2502) 處理器,
這顆處理器集成了高性能的Wifi(MT5931)和GPS(MT3332)晶片,還兼容Arduino的接口,可以很容易的接入多樣的感、周邊設備和Arduino擴充板...等。
聯發科推出LinkIt ONE已約一年時間,LinkIt ONE標榜相容Arduino,接腳排列方式跟Arduino一樣,
程式的整合開發環境(IDE)也跟Arduino一樣,對本來就有使用Arduino的人而言,可以很快改用LinkIt ONE。
雖然如此,但其實還是有一些小細節是不同的,不能完全套用,筆者以下就目前為止的摸索經驗,與各位分享、交流討論。
1.接腳電流驅動力、承受力
LinkIt ONE用的主控晶片MT2502A,是原本聯發科為特色手機(Feature Phone)所提出的,
較類似處理器(Processor),而不是較類似控制器(Controller),所以I/O接腳的電流驅動力(Source)比較弱、承受力(Sink)也比較弱,無法與正規Arduino所用的ATmega系列控制器晶片相比。
根據資料,Arduino用的ATmega晶片,單一I/O接腳最高可承受40mA電力的輸出(通常電壓處於邏輯低準位實),
但MT2502A則只有12~16mA。電壓的邏輯準位也不等同。
所以,在I/O的輸出、輸入電路上,有可能無法直接套用本來在Arduino上的設計,
輸入的時候,可能需要串接更大阻值的電阻,好避免主控晶片被輸入過多電流而燒壞。
同樣的,也盡量不要直接用主控晶片去驅動需要較多電流的元件,透過電晶體去驅動是
比較安穩的作法。也因為如此,本來可用於Arduino上的Shield,改轉接到LinkIt ONE上
有可能不能動,這點要注意,最好重新確認一下電壓、電流等差異,比較妥當。
2.PWM數目的不同:
正規Arduino有6組脈寬調變輸出(PWM Output)可用,但MT2502A沒有,只有2組,
僅剩D3、D9接腳有,原本可以用的D5、D6、D10、D11無法使用,如果本來撰寫的控
制程式是使用D5、D6、D10、D11接腳輸出PWM信號的,必須改寫程式。
縮減成剩2組,各位可能很失望,但與完全沒有PWM的樹莓派(Raspberry Pi)相比,
可能就會安慰點,至少還有2組。樹莓派由於完全沒有PWM,只能用兩種方式補償,
一是用軟體模擬PWM,但會耗用較多的樹莓派主控晶片(BCM2835/BCM2836)
的運算力、電力,或者透過GPIO接腳外接其他具有PWM輸出能力的晶片。
就算一起頭就是使用D3、D9接腳輸出PWM,程式改寫可能性也相當高,因為MT2502A提供
的是13-bit解析度(大陸稱:分辨率)的PWM輸出,與Arduino/ATmega提供的8-bit輸出不同。
所以,有關PWM的Duty Cycle還是要檢視或調整一下。
3.ADC數目的不同:
正規Arduino有6組類比(大陸稱為:模擬)輸入可用,即A0~A5,但MT2502A只有3組,
即A0~A2,且LinkIt ONE的參考電壓固定為5V,不像Arduino還可以自行選擇參考電壓。
因此,過去使用A3~A5的ADC(類比數位轉換)的程式必須改寫。不過,LinkIt ONE與
Arduino的ADC解析度都是10-bit,這方面較能直接沿用。
4.時間不同:
Arduino只跑自己的Arduino控制程式,但LinkIt ONE其實還有跑其他程式,最底層、
最優先執行的是GSM數據通訊,其次是裝置程式,更次為Link OS作業系統,最後才是Arduino控制程式。
所以,過去把時間掐很緊的控制程式寫法,有可能在LinkIt ONE會造成時間偏差,也是建議改寫。
其他建議:
另外,有些L字母開
頭的函式是專供LinkIt ONE使用,若與Arduino本有的函式功能相重疊,建議盡量用LinkIt ONE提供的。
還有,LinkIt ONE是以外掛程式方式,附掛(檔案解壓縮後,拷貝到與Arduino相同的安裝路徑、資料夾內)
在正規Arduino整合開發環境下,本以為只要新版的整合開發環境均可附掛,但後來發現1.6.x版無法在選單上找到LinkIt ONE,
之後閱讀常見問答集,才了解依然建議用舊版1.5.7版來附掛。
其他也包含電腦會偵測到LinkIt ONE有2個COM埠,一是除錯(Debug)埠,另一是數據(MODEM)埠,
真正傳輸程式到LinkIt ONE上,必須選用除錯埠。而正規Arduino只有1個COM埠。
官方回應:
(1) SDK 1.1.09 BETA版本之後(新版的 SDK)就不需要一直換了,原因是upload sketch的時候會自動偵測合適的COM port,開發者只需要選擇Serial COM port就可以了。
(2) 目前有針對IDE 1.6.4的(實驗性)支援,可連結至此,主要是支持了IDE 1.6.4的Board Manager機制,可以從IDE當中直接安裝LinkIt ONE。