版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
使用本文檔的合法客戶不得以任意方式對外透露本文檔信息。本文檔并未以暗示、反言或其他形式轉讓本公司或任何第的專利、商標、或所有權或其下的任何權利或。除金順在其產品的銷售條款和條件中的責任之外,本公司概不承擔任何其它責任。并且,金順對其產品的使用不作任何明示或暗示的擔保,包括對產品的特定用途適用性、適銷性或對任何專利權、或其它知識的責任等,均不作擔保。金順產品信息做出修改,恕不另行通知。對于本公司產品可能包含某些設計缺陷或錯誤,一經發(fā)現(xiàn)將收入勘誤表,并因此可能導致產品與已的規(guī)格有所差異。本接口協(xié)議的設計可能因為現(xiàn)實的理由在未廣泛通知的情況下升級或改進,為了您的利益,請與供應商聯(lián)系以確保獲取版本。RevisionInitialdraft–SmartETK 導入SmartETK SmartETKSDK GPIO I2C Uart Alarm 附錄: Annex:Watch Annex: I2C初始 I2CRead I2CWrite Annex: UART通訊初始 UART發(fā)送數(shù) UART數(shù) Annex: SmartETKSDKAPIGPIO,看門狗,I2C,UART等硬件設備。同時SmartETKSDK兼容以下開發(fā)板Androidstudio1.1.0或找開Androidstudio并創(chuàng)建項目將SmartETK.jar到將libSmartETK.so到在項目中SmartETK.jar,并在彈出的屬性窗口點擊”SynchronizeSmartETK.jar“SmartETKSDKimportcom.hwacreate.smartetk.GPIO;importcom.hwacreate.smartetk.I2C;importcom.hwacreate.smartetk.Uart;importcom.hwacreate.smartetk.WatchDog;SmartETKSDKAPI有以下返回值:SmartETK.S_OK0。函數(shù)執(zhí)行成功。SmartETK.E_FAIL:函數(shù)執(zhí)行失敗。SmartETK.E_VERSION_NOT_SUPPORT:當前android版本與SmartETK.jarSmartETK.E_INVALID_ARG:參數(shù)錯誤。SmartETK.E_FUNC_NOT_SUPPORT:當前硬件不支持該功能。SmartETK.E_CONNECTION_FAIL:連接失敗。SmartETK.E_NOT_RESPOND_YET:服務無響應。 :超時。SmartETK.E_UART_OPENFAIL:串口打開失敗SmartETK.E_UART_NOT_OPEN:串口未打開,請重新打開設備。SmartETK.E_UART_ALREADY_OPENED:串口已經打開。SmartETK.E_UART_TTY_BEEN_USED:串口已經被其它對象打開。SmartETK.E_UART_BAUDRATE_NOT_SUPPORT:該串口波特率不支持。GPIOGPIOGPIO(intpinID需要控制的IORK30_PIN0_PC3=19,最終的pinID=179=19+160CreateanGPIOobjectwithpinIDGPIOgpio179=newenabletrue:打開false:關閉.E_*–失敗獲取當前IOenabletrue:打開false關閉.E_*–失敗設置IO口的輸入輸出direction–GPIO.GPIOI輸入GPIO.GPIOO輸出E_*–獲取當前IOdirectionGPIOGPIOI當前IO輸入,GPIOGPIOO當前IO輸出.E_*–失敗設置IOvalue0輸出低,1輸出高.E_*–失敗獲取IOvalue–GPIOsignal,return0forlogiclow,return1forlogic.E_*–失敗WatchDogm_watchdog=new.E_*–失敗bEnable–true已啟動false未啟動E_*–E_*–E_*–intE_*–I2CI2CiI2CBusNumI2C0i2c-0bus1i2c-1bus.byI2CAddress–7bits從設備地址。iOffsetLen–0~4字節(jié)0:無寄存器18bit216bit3bit/4:32I2Cm_i2c=new創(chuàng)建了一個I2C對象,該對象控制的設備掛在I2C152,以8位數(shù)據寬度語法intread(bytebyBufintiOffsetintbyBuf–存放讀回數(shù)據的iOffset–要的從設備寄存器地址(有效范圍0~7FFFFFFF)iReadLen–要的字節(jié)數(shù),最大255字節(jié)intwrite(byte[]byBuf,intiOffset,intiWribyBuf–iOffset–(validdatais0~7FFFFFFF)iWrien–寫入數(shù)據的長度,最大255字節(jié)UartUart創(chuàng)建一個UART對象Uartm_uart=new打開指定的UartsDevUart(ExttyS0S_OK–E_UART_OPENFAIL–打開失敗E_UART_ALREADY_OPENED–設備已經打開E_UART_TTY_BEEN_USED設備已被其它對象打開E_*–其它錯誤int關閉Uart設備.E_*–intsetConfig(intiBaudRate,bytebyDataBIts,bytebyStopBits,bytebyParity,bytebyFlowCtrl);配置UartiBaudRate–(ExbyDataBits–數(shù)據位77-bitdatabits88-bitdatabitsbyStopBits–停止位.1:1-stopbits;2:2-stopbitsbyParity–校驗位.0:none;1:odd;2:evenbyFlowCtrl–流控0none1E_*–獲取當前UartUartConfig–UartConfigurationclassUartConfiguration{bytebyDataBits77-bitdatabits88-bitdatabitsbytebyStopBits–1:1-stopbits;2:2-stopbitsbytebyParity0none1odd2evenbytebyFlowCtrl–流控.0:none;1:CTS/RTS}E_*失敗UartConfigUC=m_uart.newUartConfig();if(SmartETK.S_OK!=m_uart.getConfig(UC)){}bEnabletrueiTimeout0查詢讀,無數(shù)據直接返回)bEnable=true,iTimeout>0(帶超時的讀)bEnablefalse阻塞讀–iTimeout–0255(0~25.5秒),0.1秒.E_*–Timeout–timeoutconfigurationclassTimeout{–intiTimeout0255(0~25.5秒),0.1秒}E_*–失敗TimeoutT=m_uartnewif(SmartETK.S_OK!={}bEnable=true(一直buffer滿或是讀到byReturnChar才退出)bEnable=false(時查byReturnChar)bEnable打開或關閉結束字符功能byReturnChar–指定的結束字符E_*–classReturnChar{–}E_*–失敗ReturnCharRC=m_uart.newif(SmartETK.S_OK!={}intreadData(intiReadLen,byte[]byRead,int[]byRead–存放數(shù)據的bufferiActualLen–實際的長度E_*–byRead存放數(shù)據的<0(E_*)–byWrite–待發(fā)送數(shù)據E_*–SystemETKm_system=newcontext設備上下文E_*–E_*–intwakeUp(ContextE_*–E_*–intgetCpuID(String[]獲取設備strCpuID–storethecpuE_*–E_*–iAngelE_*–bytebyHour,bytebyMin,bytebytebyHour,bytebyMin,byteE_*–classintbytebyDay;bytebyHour;bytebyMin;bytebySec;}E_*–strAPKPath–待安裝的APK路徑E_*–AlarmIntentintent=newIntent("comhwacreate.smartetk.action.setpoweronoff");int[]timeArray={iYear,iMonth,idate,iHour,iMinute}; //rebootsystemafterwakeupIntentintent=newIntent("comhwacreate.smartetk.action.setpoweronoff");int[]timeArray={iYear,iMonth,idate,iHour,iMinute};Intentintent=newIntent("comhwacreate.smartetk.action.setpoweronoff");int[]timeArray={iYear,iMonth,idate,iHour,iMinute};下面以PC3為例演下如何控制GPIO口: (0*NUM_GROUP+PIN_BASE+/*DeclarevariablestogetGPIO179values*/boolean[]bEnable=newboolean[1];int[]nDirection=newint[1];int[]nValue=newGPIOgpio179=new //CreateGPIO179 //Enable //SetGPIO179asinput //GetGPIO179'senablestatus //GetGPIO179'sinput/outputdirection //GetGPIO179'sinputvalue/*DeclarevariablestogetGPIO6values*/boolean[]bEnable=newboolean[1];int[]nDirection=newint[1];int[]nValue=newGPIOgpio179=new //CreateGPIO179 //EnableGPIO179gpio179.setDirection(GPIO.GPIOO); //SetGPIO179asoutputdirection //SetGPIO179'soutputto //GetGPIO179'senablestatus //GetGPIO179'sinput/output //GetGPIO179'soutputAnnex:WatchThefollowingisthesampleif(null==m_watchdog=newif(SmartETK.S_OK!=returnThefollowingisthesampleif(null==m_watchdog=newif(SmartETK.S_OK!=returnThefollowingisthesampleif(null==m_watchdog=newif(SmartETK.S_OK!=returnThefollowingisthesampleif(null==m_watchdog=newboolean[]bGetEnable=newboolean[1];int[]iTimeout=newint[1];if(SmartETK.S_OK=={/*Dosomething...}if(SmartETK.S_OK=={/*Dosomething...}Thefollowingisthesampleif(null==m_watchdog=newif(SmartETK.S_OK!=returnAnnex:I2C創(chuàng)建I2C設備,設備掛在I2CBUS152,8ThefollowingisthesampleintiBusNum=bytebyAddress=intiOffsetLen=if(iBusNum<0||byAddress<0||iOffsetLen<returnm_i2c=newI2C(iBusNum,byAddress,I2CReadThefollowingisthesamplebyte[]byRead=newbyte[255]intiOffset=0;intiReadLen=2;if(SmartETK.S_OK!=m_i2cread(byRead,iOffset,iReadLen)||null==returnI2CWriteThefollowingisthesamplebyte[]byWrite=newintiOffset=int en= returnAnnex:UARTThefollowingisthesampleprivateUartm_uart=null;m_uart=newUart();if(null=={}if(SmartETK.S_OK!=m_uart.open((m_sDev={}if(SmartETK.S_OK!=m_uart.setConfig((m_iBaudRate=Integer.valueOf(mETBaudRate.getText().toString())),(byte)8,(byte)1,(byte)0,(byte)0)){}UARTThefollowingisthesampleNoticethat“mETWrite”istheEditViewtostorewriting{} ThefollowingisthesampleintiReadLen=byte[]byRead=newbyte[LENGTH];int[]iActualLen=newint[
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人住宅租賃中介協(xié)議協(xié)議版
- 物聯(lián)網驅動的工業(yè)互聯(lián)網平臺技術創(chuàng)新研究
- 二零二五年度貨車司機勞動合同規(guī)范3篇
- 星際之旅-科技如何改變我們的工作方式
- 科技助力閱讀學生閱讀習慣與能力的現(xiàn)代養(yǎng)成法
- 個人與單位2024年度委托代理合同3篇
- 二零二五年橡膠車間承包經營協(xié)議范本3篇
- 二零二五年度精裝房裝修材料采購與配送協(xié)議3篇
- 2025年度船舶租賃與船舶租賃法律援助合同3篇
- 2025年度美容學徒實習培訓及就業(yè)跟蹤服務合同4篇
- 2024年社區(qū)警務規(guī)范考試題庫
- 2024年食用牛脂項目可行性研究報告
- 消防安全隱患等級
- 溫室氣體(二氧化碳和甲烷)走航監(jiān)測技術規(guī)范
- 部編版一年級語文下冊第一單元大單元教學設計
- 《保單檢視專題》課件
- 北京地鐵13號線
- 2023山東春季高考數(shù)學真題(含答案)
- 職業(yè)衛(wèi)生法律法規(guī)和標準培訓課件
- 高二下學期英語閱讀提升練習(二)
- 民事訴訟證據清單模板
評論
0/150
提交評論