使用W801開始時遇到的3個問題,解決了但是不知道具體原因,希望後續更新下SDK

發布於 2022-04-09 15:37:38

【1】:使用SDK自帶的cJSON庫出現向下取整函數floor未定義的問題,floor應該是math.h的函數,不應該出現未定義。
1.png
【解決辦法】:將SDK自帶的cJSON庫替換為,cJSON1.5.0版本既可解決。但是最新版的cJSON仍然無法使用。後續SDK更新中可以更新下自帶cJSON庫。

【2】:關於使用SPI總線驅動外置的25qxx系列Flash。使用SDK中寫好的wm_fls_gd25qxx.c驅動只能驅動GD25Q128,而驅動常用的華邦(Winbond)w25q128時會出現無法成功讀取Flash ID, 讀到的是0x0或者0xfffffff 導致驅動失敗。
3.png
【解決辦法】:按下圖所示,改動驅動中的tls_spifls_read_id(u32 * id)函數,將其中的通過spi發送cmd的長度改為1。
2.png
8.png

【3】:使用W801驅動時鐘模塊DS1302時發現,在CDK中編譯時,如果不對整型變量初始化時做明確定義,做移位操作時,會出現默認變量默認初始值為1而不是0。
4.png
5.png
【解決辦法】:對mid做初始化操作,初始值為0,正常來說不賦值初始化的話應該默認為0所以很奇怪。
6.png
7.png

查看更多

關注者
0
被浏覽
13.9k
2 個回答
靓仔
靓仔 2022-04-10
這家夥很懶,什麼也沒寫!

c語言非靜態局部變量初始化你不賦值哪裡看過會默認為0,老兄c語言學的不紮實呀。

abcd
abcd 2022-04-11
我只是個路過的老年人~

math庫函數,應該和cjson沒關系,用CDK編譯,工程沒有把math庫鏈接進來,可以試下在工程設置裡的linker裡把math庫添加進來。image.png

撰寫答案

請登錄後再發布答案,點擊登錄

發布
問題

分享
好友

手機
浏覽

掃碼手機浏覽