赞
踩
(2)STM32CubeMX: V6.8.1
(3)MCU: STM32F407ZGT6
(4)已移植好FreeRTOS和调试好串口的项目。
(1)在基础工程中创建MQTTClient文件夹,用于存放MQTTClient代码。如下图所示:
(2)将mqttcline源码所有文件拷贝到刚创建的MQTTClient中。如下图所示:
(3)MQTTClient\platform文件下只保留FreeRTOS文件夹,其余均删除。如下图所示:
(4)删除下图所示文件
(5)删除后,如下图所示:
(4)删除下列文件夹,删除后如下图所示:
(5)common目录下删除如下文件和文件夹
(1)KeilMDK打开工程,新建如下分组,如下图所示:
(config不用新建分组,该文件夹下只有头文件)
(3)将 “MQTTClient\common”目录下的.c文件添加到 common 分组。(包括子文件夹下的.c文件)
(4)将 “MQTTClient\mqtt”目录下的.c文件添加到 mqtt 分组。
(5)将 “MQTTClient\mqttclient”目录下的.c文件添加到 mqttclient 分组。
(6)将 “MQTTClient\network”目录下的.c文件添加到 network分组。
(7)将 “MQTTClient\platform”目录下的.c文件添加到 platform 分组。(包括子文件夹下的.c文件)
(1)报错内容:
(2)阅读源码发现,错误原因是配置默认的操作系统是Linux,修改为FreeRTOS,如下图所示:
(1)报错内容
(2)tls 的文件是安全传输相关的,修改为不包含这个头文件。
(1)报错内容
(2)这里是使用ESP模块AT指令联网,用不到lwip。
(1)报错内容
(2) 解决方法1:修改函数返回值使其匹配
#define configUSE_MUTEXES 1
(3)解决方法2:注释该部分代码
(1)报错内容
(2)解决
(1)报错内容
(2)问题分析
#define configTICK_RATE_HZ ( ( TickType_t ) 1000 )
检查 TickType_t
该重定义类型未定义
先不使用该类型
#define configTICK_RATE_HZ 1000 //( ( TickType_t ) 1000 ) // zjd add
6.7、平台相关函数报错
(1)报错内容
(2)先注释掉该部分内容,函数名保留。
移植代码的错误一般分为编译错误和链接错误。
直至移植的代码无错误后开始写代码。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。