abcd
abcd
我只是個路過的老年人~

注冊於 2年前

回答
45
文章
6
關注者
1

聯網成功後,調用gethostbyname接口來獲取域名對應的IP地址。

SDK的doc目錄下有w800_apis.chm文件,裡面有各個模塊的接口。具體使用demo目錄下都有相關的demo參考。

DNS server是W801做softap模式時用到的,而且只是把dnsname和自己的IP地址對應,對於應用層來說,一般不會用到這裡的接口。

WIFI協議這部分是封在庫裡面的,沒有對外開放。按你的描述應該是需要改動庫裡面的代碼才能實現的。目前是沒有支持私有協商協議的方式的。

新建文件夾.rar
更新下這兩個文件的改動試下,然後初始化的時候hpmu.ClkSource選PMU_CR_32KRCBYPASS,這種情況下32K時鐘是從40M分出來的,會比較準確,在sleep模式下可以用作時鐘源,而PMU_CLKSOURCE_32RC是用的32K震蕩產生的,會有誤差。

我現在手頭沒有工程了,就改那幾個地方就行,你目前的問題是卡在哪一步了,具體描述下

從左到右確實是按OPT1-4、OPT6來排序的,OPT5是GPIO功能,這裡代碼裡寫的是OPT2也沒錯,MMC那一組就是對應的SDIO MASTER功能,OPT4的SDIO功能這裡沒表達清楚,對應的是SDIO SLAVE功能。

固件加密用的是key.txt裡的秘鑰,也就是30~66,這個是需要用戶自己設定的值,改的時候需要改三個地方,1.把key.txt文件裡改了;2.在aft_build_project.sh替換用到的地方;3.在燒錄工具裡的文件夾裡有個AvoidCopyTestCases.xml裡也有用到這個值,需要修改替換掉。
capub_1.pem和capub_1_N.dat這兩個文件是用來加密key.txt的,不需要修改,目前固定使用這組值。
cakey.pem和capub.pem是用來做簽名和解簽名用的,也是需要用戶自己修改的值,直接改這兩個文件的內容就可以,aft_build_project.sh裡不用改,因為是直接引用的文件名。燒錄工具文件夾下的capub.pem需要同步修改。同事,如果燒錄工具文件夾下的文件修改後,需要關閉燒錄工具重新打開。

fields這個變量的結構體定義struct ble_hs_adv_fields裡除了uuids16外也有name,直接替換成name比較就可以,要注意的是,有些server的name是直接放在廣播裡的,這種用被動掃描就可以, 有些是放在response裡的,這種就需要主動掃描來獲取,tls_ble_gap_scan的第一參數來設置主動還是被動掃描。發送可以用ble_gattc_write_flat這個接口,在wm_ble_client_api_multi_conn_demo.c裡就是一個client連接多個server的demo,可以參考。

和其他外部flash是一樣的,理論值10萬次擦寫

可以,如果是測試可以用標準固件,然後通過串口0發送AT指令測試,AT+BTEN=1,0使能藍牙系統,然後發送AT+ONESHOT=4開啟藍牙配網服務,然後用手機小程序配網就行了。

demo目錄下wm_uart_demo.c
src/app/bleapp目錄下wm_ble_server_api_demo.c

注釋要表達的意思是,PB6~PB11在W800和W801上都有封裝出來,所以都可以用作sdio功能,而PA9~PA14只有W801上封裝出來了,在W800上沒有,所以PA9~PA14對應的case1:情況只有在使用W801時才能生效。使用W801時具體用PA9~PA14還是PB6~PB11,可根據需求自行決定。

發布
問題