使用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.4k
2 个回答
靓仔
靓仔 2022-04-10
这家伙很懒,什么也没写!

c语言非静态局部变量初始化你不赋值哪里看过会默认为0,老兄c语言学的不扎实呀。

abcd
abcd 2022-04-11
我只是个路过的老年人~

math库函数,应该和cjson没关系,用CDK编译,工程没有把math库链接进来,可以试下在工程设置里的linker里把math库添加进来。image.png

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览