0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

9GxC_IoTMaker 来源:未知 作者:胡薇 2018-06-12 10:10 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

手头上正好有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也刚接触没多久,水平有限,有什么写得不好或者错了的地方请告之改正。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    147

    文章

    18605

    浏览量

    387010
  • STM32
    +关注

    关注

    2305

    文章

    11120

    浏览量

    371143

原文标题:官方生成的MCU代码(hal库)移植到标准库的STM32教程

文章出处:【微信号:IoTMaker,微信公众号:机智云开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何移植iconvRT-Thread Studio工程中?

    需要使用到汉字编码转换,请问如何移植iconv,请各位予以指导
    发表于 10-09 08:52

    STM32标准在Keil5移植rtthread nano后无法显示oled内容是怎么回事?

    单独把OLED_Update()函数独立出来就无法执行,屏幕黑屏怎么回事呢? 或者有没有大佬有在Keil5 STM32标准移植rtthread系统又使用到oled屏幕显示的
    发表于 09-22 08:28

    STM32已经用标准写好的代码,怎么导入RT THREAD?

    之前已经在裸机上实现了SAE J1939协议,因为要添加IOT 功能,现在想添加RT THREAD.因为之前写裸机程序的时候用的是标准。而RT THREAD STUDIO自动生成的是HAL
    发表于 09-19 06:16

    请问hal的硬件spi,怎么修改spi时钟的占空比?

    请问hal的硬件spi,该怎么修改spi时钟的占空比呀?
    发表于 07-28 07:50

    如何理解无刷电机中的六步换向?

    无刷电机中的六步换向是一种用于无刷直流电机(BLDC)的换相控制策略,它主要通过电子开关控制电机绕组的通电顺序,从而实现电机的旋转。以下是对无刷电机中六步换向的详细理解: 一、六步换向的基本原理 无
    的头像 发表于 07-23 07:39 1180次阅读

    STM32F4标准外设资料

    stm32f4xx.h,标准外设
    发表于 06-08 09:49 5次下载

    基于STM32 HAL标准的esp8266接入机智云方案(二)

    在《基于STM32HAL标准的esp8266接入机智云方案(一)》中,我们详细介绍了硬件连接和机智云客户端的创建。本篇重点讲解如何下
    的头像 发表于 05-28 18:02 1113次阅读
    基于STM32 <b class='flag-5'>HAL</b><b class='flag-5'>库</b>与<b class='flag-5'>标准</b><b class='flag-5'>库</b>的esp8266接入机智云方案(二)

    STM32已经用标准写好的代码,怎么导入RT THREAD?

    之前已经在裸机上实现了SAE J1939协议,因为要添加IOT 功能,现在想添加RT THREAD.因为之前写裸机程序的时候用的是标准。而RT THREAD STUDIO自动生成的是HAL
    发表于 05-27 06:01

    PCB标准封装文件

    PCB标准封装文件
    发表于 05-22 17:43 9次下载

    【道生物联TKB-620开发板试用】TK8620 开发平台软件移植——HAL配置

    引言: 最近想使用本开发套件来预研一个无线传输的产品测试平台。所以准备把之前的例程移植HAL移植之后,准备把开发板上的所有按照原理图的
    发表于 04-30 00:47

    求助,求STM32C011J4x STM32C011J6x的标准

    一直用的标准,发现C0没有标准,都是HAL的,真的用不习惯、
    发表于 03-10 08:20

    HAL标准你会选择哪种

    HAL标准你会选择哪种
    发表于 03-10 06:25

    如何HAL转为LL

    怎么HAL转为LL
    发表于 03-10 06:08

    AN136 基于GD32F30x系列的IEC60730 ClassB移植指南

    电子发烧友网站提供《AN136 基于GD32F30x系列的IEC60730 ClassB移植指南.pdf》资料免费下载
    发表于 01-17 16:22 2次下载
    AN136 基于GD32F30x系列的IEC60730 ClassB<b class='flag-5'>库</b><b class='flag-5'>移植</b>指南

    基于GD32F3x0系列的IEC60730 ClassB移植指南

    电子发烧友网站提供《基于GD32F3x0系列的IEC60730 ClassB移植指南.pdf》资料免费下载
    发表于 01-17 14:41 3次下载
    基于GD32F3x0系列的IEC60730 ClassB<b class='flag-5'>库</b><b class='flag-5'>移植</b>指南