教程:只需六步,将Hal库移植到标准库

发布时间:2023-11-02  

手头上正好有STM32的开发板和ESP-12E模块,想着控制个WS2812玩玩。到MCU开发的时候下载了生成的代码发现是HAL库的,无奈自己刚刚学习stm32,用的是标准库这里参考了官方的移植MSP340教程并修改出适用于STM32标准库的教程。


步骤1、下载好的代码包是这样的,需要把这两个文件夹直接复制到自己工程的文件夹里面:

步骤2、添加到自己的工程组里面,并添加路径:

步骤3、正题来了,现在开始移植工作,需要修改的文件分别如下:3.1、打开gizwits_product.h需要修改的地方如下,查看代码行数可以快速找到)

3.2、打开gizwits_product.c,需要修改的地方如下:

下面删除的几个初始化函数很重要...必须自己写好,要能正常使用

接下来是串口发送函数,我用的是DMA+中断发送接收的,修改成能发送数据的函数..建议先把串口功能调试好在填入调用

int32_t uartWrite(uint8_t *buf, uint32_t len)

{

uint32_t i = 0;

if(NULL == buf)

{

return -1;

}

for(i=0; i

{

//这里填入串口发送函数

TxBuff_esp8266[i]=*buf++;

/* if(i >=2 && buf[i] == 0xFF)

{

//这里填入串口发送函数,发送0x55,意思是遇到0xFF后面要加0x55

//这地方折腾了很久才成功,官方的大神说要加上,但是我删除了也可以用,求解释

//官方说是要求加上的..我直接删除了也能用,你们要是这里加了不行的话也删掉试试

}*/

修改好了记得保存。

步骤4、接下来打开main.c文件添加自己的初始化代码,并且调用gizwits的相关函数记得把这两个头文件包含进去

#include "gizwits_product.h"

#include "common.h"

我的初始化函数是自己封装的,比较简陋,反正功能能实现就行了步骤5、修改中断函数

接下来就是编译了,要是有错误的地方看一下是不是外部函数调用的时候没有包含进函数所在的头文件。步骤6、打开gizwits_product.c,找到gizwitsEventProcess的函数,下面那里有你添加的数据点,可以添加自己想要的功能。

举个栗子我的是控制WS2812,直接在里面调用WS2812的亮灯函数,把读到的数据颜色数据填入就可以了

移植的步骤大概就是这么多,试了一下烧录了进去确实可以用app控制。还有很多功能没有调试,剩下的功能要去参考其他大神的了。静静的做一名的伸手党。


要是有什么错误的地方请指正,我也是这两天刚刚琢磨出来,希望能互相学习。诶,那个,第一次写教程,stm32也刚接触没多久,水平有限,有什么写得不好或者错了的地方请告之改正。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    Cortex-M系列的指令集,但它们的官方开发环境、库文件和驱动程序可能存在差异。因此,在进行代码移植时,需要重新编写或者适配相关的驱动程序和库文件。另外,在进行GD32和STM32代码移植时,还需要注意......
    如下: 一、建设分布式光伏发电项目需要注意什么? 分布式光伏发电项目建设须符合国土空间规划、城市管理等相关要求,接受相关部门的指导和监督管理。在江海区建设分布式光伏项目需符合以下规定: (一......
    我自己是在Micro2440开发板上移植,但机器码还是使用MACH_TYPE_MINI2440,其值为1999。所以下载了资源的网友一定要注意gd->bd->bi_arch_number......
    气体检测仪的保养方法及注意事项;现在各行各业都安装着气体检测仪,但是大家是否知道气体检测仪的保养工作该如何进行呢?气体检测仪在保养维护的时候需要注意什么呢?接下来给大家简单介绍下气体检测仪的保养方法及注意......
    振动时,也要马上更换散热风扇。那么我们在更换变频器散热风扇时,都需要注意什么呢? 1.在确保变频器已经断电,等电压降到安全电压下的情况下,再开始进行更换; 2.散热......
    化内完成,即可。 3.移植内容 lv_port_disp.clv_conf.h 配置好。这块网上比较多,对着操作就行。 最后需要注意,背光要打开。 app里面的main,lv的demo最好放到线程里面 完成屏幕显示方面的移植......
    供了针对STM32的移植版本。 4.应用程序移植:最后需要将原有的应用程序移植到目标硬件上运行。这通常包括对代码的修改和调试,以适应新的硬件平台和操作系统环境。 需要注意的是,系统移植......
    什么是摇表?测量过程中又需要注意什么?;摇表又称,其用途是测试线路或设备的绝缘状况。使用方法及注意事项如下: 1、首先选用与被测元件电压等级相适应的摇表,对于500v及以......
    满足成本效益和可以扩容两个条件。网关购置维护成本过高,行不通。同样,随着新需求的迅速出现,团队必须能够扩展网络容量。 基础设施监控和资产跟踪需要注意什么? 白皮......
    新需求的迅速出现,团队必须能够扩展网络容量。 基础设施监控和资产跟踪需要注意什么? 白皮书论述的考虑因素也同样适用于越来越依赖 LoRa 的其他应用,例如,基础设施监控和资产跟踪。当跟......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>