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

机智云开发者 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代码(hal库)移植到标准库的STM32教程

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

收藏 人收藏
分享:

评论

相关推荐

聊聊单片机8051的发展史

无所不在的处理器,对厂商来说,等于是无可限量的商机。因此,许多处理器应用架构都想要取代8051当市场....

的头像 玩转单片机 发表于 06-19 15:55 87次 阅读
聊聊单片机8051的发展史

STM32F4的GPIO口AF复用模式和IN输入模式

发表于 06-19 15:28 134次 阅读
STM32F4的GPIO口AF复用模式和IN输入模式

SoC无线充电芯片对比MCU方案的优势

发表于 06-19 11:11 92次 阅读
SoC无线充电芯片对比MCU方案的优势

输入部分电路的设计,按键部分硬件电路部分应用实例

在目前MCU应用领域里,很多场合都离不开开关信号,这些开关信号的实现都是通过按键操作实现。而传统的按....

的头像 电子工程专辑 发表于 06-19 09:03 148次 阅读
输入部分电路的设计,按键部分硬件电路部分应用实例

单片机的IO口模拟I2C数据总线传输方式的详细中文资料概述

需要做的工作小结如下:1、MCU的I2C采用IO口模拟实现;2、MCU作为I2C主设备与定时芯片RX....

发表于 06-19 08:00 21次 阅读
单片机的IO口模拟I2C数据总线传输方式的详细中文资料概述

STM32的基础实验,进阶应用,硬件描述和综合性实验的详细资料概述

该资料对STM32微控制器作了诠释和指导,STM32的基础实验,进阶应用,硬件描述和综合性实验的详细....

发表于 06-19 08:00 12次 阅读
STM32的基础实验,进阶应用,硬件描述和综合性实验的详细资料概述

关于STM32局部变量问题 数组过大,栈溢出了怎么办

当在一个函数中声明一个较大的局部 数组 变量时,程序可以编译通过,但运行时,老是进入hardfaul....

发表于 06-19 07:39 38次 阅读
关于STM32局部变量问题 数组过大,栈溢出了怎么办

总线舵机是什么?基于STM32的单线串口通信

总线伺服舵机即串行总线智能舵机,实际上可以理解为数字舵机的衍生品,数字舵机与模拟舵机相比而言是控制系....

发表于 06-19 07:05 19次 阅读
总线舵机是什么?基于STM32的单线串口通信

请问TMS570 MCU通过IIC通信,一个做master,另一个作slaver,可以吗?怎么设置?

发表于 06-16 02:18 14次 阅读
请问TMS570 MCU通过IIC通信,一个做master,另一个作slaver,可以吗?怎么设置?

介绍SH-Stick试用套件的特点与使用演示

面向SH/Tiny MCU的超小型在线调试器SH-Stick的使用简介。 演讲者:瑞萨电子(上海)....

的头像 Renesas视频 发表于 06-15 13:52 81次 观看
介绍SH-Stick试用套件的特点与使用演示

物联网小电流测试

物联网设备在智能穿戴、医疗电子、智能家居和智能机器等各个方面的应用越来越广。一些物联网设备由于体积小....

的头像 Keysight视频 发表于 06-15 13:16 113次 观看
物联网小电流测试

无人机中基于stm 32的电机拉力测试系统怎么编程呀?

发表于 06-15 11:26 202次 阅读
无人机中基于stm 32的电机拉力测试系统怎么编程呀?

嵌入式工程师应该如何解决物联网数据采集需求?

最近物联网(IoT)相关的文章充斥在许多电子工程杂志。众所周知虽然物联网的服务五花八门包罗万象,但有....

的头像 嵌入式资讯精选 发表于 06-15 11:04 570次 阅读
嵌入式工程师应该如何解决物联网数据采集需求?

介绍瑞萨电子MCU直流无刷电动工具的特点与解决方案

瑞萨电子公司上海分公司的覃杰将讲述:瑞萨电子MCU直流无刷电动工具解决方案。

的头像 Renesas视频 发表于 06-15 06:01 134次 观看
介绍瑞萨电子MCU直流无刷电动工具的特点与解决方案

主要讲解USB的应用方案

USB应用方案这一讲由Renesas电子中国MCU产品中心的孙国峰给大家讲解。

的头像 Renesas视频 发表于 06-15 03:46 120次 观看
主要讲解USB的应用方案

介绍基于R8C MCU 180度E-Bike的解决方案

由瑞萨电子公司MCU产品中心王鸥为大家讲述:180度E-Bike解决方案(基于R8C MCU)。

的头像 Renesas视频 发表于 06-15 02:16 83次 观看
介绍基于R8C MCU 180度E-Bike的解决方案

介绍(基于78K0R MCU)180度E-Bike解决方案

本讲座由瑞萨电子公司闫在春在线讲述:180度E-Bike解决方案(基于78K0R MCU)。

的头像 Renesas视频 发表于 06-15 00:56 137次 观看
介绍(基于78K0R MCU)180度E-Bike解决方案

关于瑞萨电子工具e8a的讲座

本讲座由瑞萨电子公司MCU产品中心钟雪日为大家讲述:瑞萨电子工具e8a。

的头像 Renesas视频 发表于 06-14 16:12 130次 观看
关于瑞萨电子工具e8a的讲座

STM32的平台,CAN模块,当源模块多次发送报文时CAN接收错误

发表于 06-14 15:31 232次 阅读
STM32的平台,CAN模块,当源模块多次发送报文时CAN接收错误

基于STM32的虚拟多线程(TI_BLE协议栈_ZStack协议栈)

基于STM32的虚拟多线程,可以很好的用于裸机程序中,用于模拟小型操作系统的多线程概念。本实例参考了....

发表于 06-14 10:42 110次 阅读
基于STM32的虚拟多线程(TI_BLE协议栈_ZStack协议栈)

stm32的总线AMBA、AHB、APB

系统中的各个模块之间相互通信是通过总线,总线的作用,就是把数据和地址从设备A搬运到设备B上。

发表于 06-14 10:13 65次 阅读
stm32的总线AMBA、AHB、APB

介绍了RL78/G13 MCU 开发套件演示

RL78/G13 Stick上安装了R5F100LE MCU,用户可以直接使用它来评估RL78 MC....

的头像 Renesas视频 发表于 06-14 09:21 164次 观看
介绍了RL78/G13 MCU 开发套件演示

介绍了解MCU电力线通信解决方案

瑞萨电子公司李天太为大家讲述:MCU电力线通信(PLC)解决方案。

的头像 Renesas视频 发表于 06-14 04:14 169次 观看
介绍了解MCU电力线通信解决方案

关于在线调试工具EZ-CUBE参考设计的一场讲座

这一讲由瑞萨电子公司MCU产品中心钟雪日讲座:在线调试工具EZ-CUBE参考设计。

的头像 Renesas视频 发表于 06-14 02:14 115次 观看
关于在线调试工具EZ-CUBE参考设计的一场讲座

介绍MCU的新系列RL78产品的特点与应用

介绍瑞萨MCU的新系列RL78产品的特点

的头像 Renesas视频 发表于 06-14 00:12 110次 观看
介绍MCU的新系列RL78产品的特点与应用

为什么串口接收的数据读取不对

发表于 06-13 13:08 297次 阅读
为什么串口接收的数据读取不对

请问哪位大神可以推荐一些关于mcu的理论书籍?

发表于 06-13 02:36 31次 阅读
请问哪位大神可以推荐一些关于mcu的理论书籍?

电机控制和TI的低成本电机控制MCU的价值

Advanced digital motor control was only an option ....

的头像 TI视频 发表于 06-12 07:24 247次 观看
电机控制和TI的低成本电机控制MCU的价值

stm32f103 sht20,接不接传感器都显示128.多 的值! 请各位大神指教一下,那里有问题?

发表于 06-11 23:41 192次 阅读
stm32f103 sht20,接不接传感器都显示128.多 的值! 请各位大神指教一下,那里有问题?

德州仪器基于CC2640R2F的MCU 支持阿里云Link物联网平台

TI基于CC2640R2F的SDK提供一套例程来支持阿里云Link物联网平台。在这套方案里面,你可以....

的头像 人间烟火123 发表于 06-11 16:19 1433次 阅读
德州仪器基于CC2640R2F的MCU 支持阿里云Link物联网平台

TCL通讯Alcatel 3V智能手机选用意法半导体NFC技术,为用户带来卓越的非接触式体验

发表于 06-11 15:22 298次 阅读
TCL通讯Alcatel 3V智能手机选用意法半导体NFC技术,为用户带来卓越的非接触式体验

意法半导体高速、高分辨率电机驱动板,使开源3D打印机性能最大化

发表于 06-11 15:16 290次 阅读
意法半导体高速、高分辨率电机驱动板,使开源3D打印机性能最大化

用 RL78/G13 控制使用串口助手给MCU发送消息

使用串口助手 给MCU发送消息 初步软硬件联调 使用软件助手发送不同的命令 0x00 0x01 ....

的头像 Renesas视频 发表于 06-11 09:10 92次 观看
用 RL78/G13 控制使用串口助手给MCU发送消息

STM32中DMA模块的使用

DMA_Mode_Normal,正常模式,当一次DMA数据传输完后,停止DMA传送,对于上例而言,就....

的头像 21ic电子网 发表于 06-11 08:49 389次 阅读
STM32中DMA模块的使用

介绍MCU电能计量的特点与应用

本讲座由瑞萨电子公司李天太讲述:MCU电能计量解决方案。

的头像 Renesas视频 发表于 06-11 05:14 107次 观看
介绍MCU电能计量的特点与应用

讲述E-Bike报警特点及应用方案

瑞萨电子公司MCU产品中心的孙国峰将讲述:E-Bike报警应用方案。

的头像 Renesas视频 发表于 06-11 03:10 68次 观看
讲述E-Bike报警特点及应用方案

队列的介绍和利用环形队列实现STM32进阶之串口环形缓冲区的概述

队列 (Queue):是一种先进先出(First In First Out ,简称 FIFO)的线性....

的头像 嵌入式资讯精选 发表于 06-10 11:15 333次 阅读
队列的介绍和利用环形队列实现STM32进阶之串口环形缓冲区的概述

LY-STM32 (Cortex-M3)(大黄蜂开发板封装库)

ASTM32F103

发表于 06-10 08:00 37次 阅读
LY-STM32 (Cortex-M3)(大黄蜂开发板封装库)

采用STM32设计的四轴飞行器飞控系统的详细资料概述

四轴飞行器是一种结构紧凑、飞行方式独特的垂直起降式飞行器,与普通的飞行器相比具有结构简单,故障率低和....

发表于 06-08 09:03 76次 阅读
采用STM32设计的四轴飞行器飞控系统的详细资料概述

基于STM32的Uart2串口问题

21IC买了一块1元的活动板子,移植了RTT(RT-THREAD)的国人嵌入式操作系统.系统能够正常....

发表于 06-08 08:30 152次 阅读
基于STM32的Uart2串口问题

基于STM32的串口DMA发送

使用STM32的串口进行DMA发送(Noraml模式),在某个任务中连续调用两次发送函数log_pr....

发表于 06-08 08:13 133次 阅读
基于STM32的串口DMA发送

STM32超声波测距设计的合集包括了的原始材料,原理图,程序和原理说明

本文档的主要内容介绍的是STM32超声波测距设计的合集包括了的原始材料,原理图,程序和原理说明的详细....

发表于 06-08 08:00 47次 阅读
STM32超声波测距设计的合集包括了的原始材料,原理图,程序和原理说明

如何基于STM32单片机设计电子密码锁的详细资料概述

本文档的主要内容介绍了如何基于STM32单片机设计电子密码锁的详细资料概述

发表于 06-08 08:00 53次 阅读
如何基于STM32单片机设计电子密码锁的详细资料概述

MCU的存储器组织知识

这段程序中,Str[] 是一个局部数组,其大小为 6,占用的堆栈空间是 2 个字符;"12345" ....

的头像 嵌入式ARM 发表于 06-07 15:54 355次 阅读
MCU的存储器组织知识

STM32 UART2发送后中断的原因是什么?

先说TC。即Transmission Complete。发送一个字节后才进入中断,这里称为“发送后中....

发表于 06-07 08:07 77次 阅读
STM32 UART2发送后中断的原因是什么?

STM32立方体的扩展软件控制低压三相无刷直流电机的详细资料概述

X-CUBE-SPN17是STM32立方体的扩展软件。该软件运行在STM32内核上,提供STPICH....

发表于 06-07 08:00 35次 阅读
STM32立方体的扩展软件控制低压三相无刷直流电机的详细资料概述

基于STM32单片机的生日快乐音频播放程序设计的详细资料概述

本文的主要内容介绍的是基于STM32的生日快乐播放程序设计的详细资料概述

发表于 06-07 08:00 49次 阅读
基于STM32单片机的生日快乐音频播放程序设计的详细资料概述

基于STM32单片机的指纹识别设计的详细资料概述

本文档的主要内容介绍的是基于STM32单片机的指纹识别设计的详细资料概述包括了STM32程序和原理图....

发表于 06-07 08:00 110次 阅读
基于STM32单片机的指纹识别设计的详细资料概述

STM32无刷电机开发板电路图详细介绍和无刷霍尔pid例程详细概述

本文档的主要内容介绍的是STM32无刷电机开发板的电路图详细介绍和无刷霍尔pid例程详细概述

发表于 06-07 08:00 87次 阅读
STM32无刷电机开发板电路图详细介绍和无刷霍尔pid例程详细概述

基于STM32VET6的MP3和数码相框设计的详细中文资料概述

本设计是以STM32VET6作为主控制器,外围辅以3.5寸TFT液晶、SD卡、VS1003音频解码器....

发表于 06-07 08:00 35次 阅读
基于STM32VET6的MP3和数码相框设计的详细中文资料概述

STM32开发板与超声波模块实验的介绍和操作方式过程以及程序的概述

本文档介绍的主要内容是STM32开发板与超声波模块实验的程序和操作方法和过程的详细资料概述

发表于 06-07 08:00 61次 阅读
STM32开发板与超声波模块实验的介绍和操作方式过程以及程序的概述

如何使用STM32来设计循迹,避障,遥控的多功能智能小车详细资料概述

本文档介绍的主要内容是如何使用STM32来设计循迹,避障,遥控的多功能智能小车详细概述

发表于 06-07 08:00 95次 阅读
如何使用STM32来设计循迹,避障,遥控的多功能智能小车详细资料概述

ROVA烧录工具的应用程序和注册及初始化MCU说明和配置设置详细概述

本文档的主要内容介绍的是ROVA烧录工具的应用程序和注册及初始化MCU说明和配置设置,安装信息的详细....

发表于 06-06 10:00 31次 阅读
ROVA烧录工具的应用程序和注册及初始化MCU说明和配置设置详细概述

STM32-MDK编辑(或修改)代码后调试的详细过程中文介绍

编辑(或修改)代码之后,我们需要编译代码(F7)查看是否有错误,编译无误后点击调试按钮(Ctrl +....

发表于 06-06 10:00 44次 阅读
STM32-MDK编辑(或修改)代码后调试的详细过程中文介绍

STM32-IAR 调试的详细中文资料概述

其实调试本身也并不难,楼主总结,调试关键在于两件事,一是运行,二是观察,为了更好的实现这两者,就牵涉....

发表于 06-06 08:00 31次 阅读
STM32-IAR 调试的详细中文资料概述

AIP1629A LED驱动专用电路产品说明书的详细中文资料概述

AIP1629A是一块LED驱动专用电路,内置MCU数字接口、数据锁存器等电路。主要应用于冰箱、空调....

发表于 06-06 08:00 73次 阅读
AIP1629A LED驱动专用电路产品说明书的详细中文资料概述

教你怎么用Atollic TrueStudio 9.0

ST之前发布了Atollic TrueStudio 9.0版本软件开发工具,为STM32用户提供全免....

的头像 STM32单片机 发表于 06-04 09:40 1857次 阅读
教你怎么用Atollic TrueStudio 9.0

基于STM32单片机的摄像头图像采集的处理系统项目研究报告

本项目以摄像头OV7670作为图像传感器,以存储芯片AL422作为数据中转站,以处理芯片STM32作....

发表于 06-04 08:00 106次 阅读
基于STM32单片机的摄像头图像采集的处理系统项目研究报告

STM32的数据类型基础介绍

第二读懂了解 MCU的寄存器各寄存器的功能,尤其是一些IO口设置,各模块时钟设置比如定时器,I2C,....

发表于 06-04 07:38 150次 阅读
STM32的数据类型基础介绍