教程:只需六步,将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,微信公众号:机智云开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
分享:

评论

相关推荐

芯达STM32入门系列教程之一《如何提高STM32的学习效率》

每当我们在入门之前(ARM 是这样,DSP也一样),总会会有很多疑问,会有很多顾虑。我们渴望知道学习 STM32前景如何?...

发表于 08-20 16:28 21次 阅读
芯达STM32入门系列教程之一《如何提高STM32的学习效率》

基于STM32的大功率数字式电镀电源并联均流系统设计

本文采用STM32F103VET6处理器作为主控芯片,实现了一种以CAN总线为通信媒介、具有稳压/稳流/安培时/工艺曲线/远程控制...

发表于 08-20 10:08 121次 阅读
基于STM32的大功率数字式电镀电源并联均流系统设计

如何对stm32内部RC进行校准?

系统时钟用的HSI ,RTC用的外部晶振,但是现在系统的HSI不准,需要用RTC对HSI(内部RC)校准,不懂该如何操作...

发表于 08-20 09:47 136次 阅读
如何对stm32内部RC进行校准?

详解stm32能跑什么系统

系列32位微控制器,基于 -M3处理器。它能支持32位广泛的应用,支持包括高性能、实时功能、数字信号处理,和低功耗、低操作,同...

发表于 08-20 09:33 145次 阅读
详解stm32能跑什么系统

STM32 无法打印%f

[table=98%][tr]在stm32中执行如下代码 float a = 0.1; printf("%f\n",a); 输出为 %f ,就是“%f”这两个字符 如果是%d就正常 怎...

发表于 08-20 07:04 68次 阅读
STM32 无法打印%f

TI SimpleLink MCU平台:SimpleLink CC26x2 SDK

新一代多频段协议 TI SimpleLink MCU 平台-1.3 SimpleLink Multi....

的头像 TI视频 发表于 08-20 01:49 3次 观看
TI SimpleLink MCU平台:SimpleLink CC26x2 SDK

TI SimpleLink MCU平台:Sensor Controller

新一代多频段协议 TI SimpleLink MCU 平台-1.5 Sensor Controlle....

的头像 TI视频 发表于 08-20 01:45 2次 观看
TI SimpleLink MCU平台:Sensor Controller

TI SimpleLink MCU平台:SimpleLink Sub-1GHz和CC13x2 SDK

新一代多频段协议 TI SimpleLink MCU 平台-1.4 SimpleLink Sub-1....

的头像 TI视频 发表于 08-20 01:43 5次 观看
TI SimpleLink MCU平台:SimpleLink Sub-1GHz和CC13x2 SDK

Simplelink™Academy深度学习及Simplelink™ MCU平台特点介绍

Simplelink™ MCU平台介绍以及Simplelink™  Academy深度学习

的头像 TI视频 发表于 08-20 01:09 6次 观看
Simplelink™Academy深度学习及Simplelink™ MCU平台特点介绍

贸泽贸泽电子STM32H7系列MCU,能提升互联智能设备防护性能

贸泽电子 (Mouser Electronics) 即日起开始备货STMicroelectroni....

发表于 08-19 09:34 77次 阅读
贸泽贸泽电子STM32H7系列MCU,能提升互联智能设备防护性能

MCU技术发展线路大揭秘,且看中国MCU该如何在竞争激烈的市场中取胜?

微处理器和单片机(MCU)从上个世纪70年代在欧美开始兴起,1981年8051单片机问世,到今天已....

发表于 08-19 09:21 180次 阅读
MCU技术发展线路大揭秘,且看中国MCU该如何在竞争激烈的市场中取胜?

基于STM32的DS18B20的问题

用示波器看过延时程序的实现是正确的。复位函数里的复位信号给的也是正确的。 电路图里左边是电源线,中间是数据线,右边是地线...

发表于 08-19 08:14 245次 阅读
基于STM32的DS18B20的问题

230VAC输入,17W输出适用于内嵌式灯具的无磁性元件LED驱动器包括BOM,PCB文件及光绘文件

描述 此 230VAC LED 驱动器设计 (PMP6021) 在外形上经过优化,适用于内嵌式灯具或筒灯,可使用标准 TRIAC 壁式...

发表于 08-19 06:59 25次 阅读
230VAC输入,17W输出适用于内嵌式灯具的无磁性元件LED驱动器包括BOM,PCB文件及光绘文件

TI CC2640R2F、CC2640、CC2541 MCU特性介绍与区别

微控制器(MCU)为半导体行业最为重要的一个产业链之一,近年来愈发受到关注。特别在物联网的大潮推动下,MCU作为一类成熟的...

发表于 08-19 06:19 0次 阅读
TI CC2640R2F、CC2640、CC2541 MCU特性介绍与区别

请教各位大侠,这样的波形怎样变成一个直流源便于ADC采集,需要精度高的

需要高精度的转换关系,我用了全波精密整流电路似乎还不行,不知道怎么弄...

发表于 08-18 23:52 28次 阅读
请教各位大侠,这样的波形怎样变成一个直流源便于ADC采集,需要精度高的

STM32 PMSM FOC SDK入门

STM32 PMSM FOC SDK入门

发表于 08-18 19:09 87次 阅读
STM32 PMSM FOC SDK入门

如何创建标准的RT-Thread项目工程?详细过程分析概述

本文档旨在指导用户在全功能 RT-Thread 版本基础上,根据项目需求搭建 RT-Thread 工....

的头像 RTThread物联网操作系统 发表于 08-18 11:25 151次 阅读
如何创建标准的RT-Thread项目工程?详细过程分析概述

开发STM32除了MDK-ARM和IAR,还可以选择哪些软件?

有人问:MDK-ARM和IAR都是属于商业版的软件,为什么还有那么多开发STM32的人都在使用?有什....

的头像 嵌入式资讯精选 发表于 08-18 11:12 168次 阅读
开发STM32除了MDK-ARM和IAR,还可以选择哪些软件?

7家新三板原厂能否把握产业机遇 MCU缺货

近年来,随着物联网、车用电子及智能家居等应用需求不断爆发,原材料价格持续上升,再加之全球MCU巨头产....

的头像 电子发烧友网工程师 发表于 08-18 08:27 222次 阅读
7家新三板原厂能否把握产业机遇 MCU缺货

micropython的详细中文教程资料免费下载

MicroPython在2014成功的在kickstarter上众筹,获得很高的评价,现在越来越多的....

发表于 08-17 18:01 49次 阅读
micropython的详细中文教程资料免费下载

胰岛素注射装置的开发与应用作分析的详细资料免费下载

本文将对胰岛素注射装置新趋势理念述起,并重点对新型无线胰岛素泵与胰岛素注射笔的开发与应用作分析

发表于 08-16 18:06 23次 阅读
胰岛素注射装置的开发与应用作分析的详细资料免费下载

8位和32位MCU在功能上有什么区别?如何选择?

该如何对8位以及32位的MCU进行选择?8位和32位MCU在功能上仍是互为辅助、各有千秋,这其中的诀....

的头像 玩转单片机 发表于 08-16 17:37 135次 阅读
8位和32位MCU在功能上有什么区别?如何选择?

基于STM32和WH-NB73连接有人透传云

WH-NBST-EVK扩展板作为STM32 Nucleo-64开发板的配件,板载WH-NB73 NB....

的头像 STM32单片机 发表于 08-15 17:55 338次 阅读
基于STM32和WH-NB73连接有人透传云

STC8系列单片机技术参考数据手册和详细资料免费下载

STC8系列单片机是不需要外部晶振和外部复位的单片机,是以超强抗干扰/超低价/高速/低功耗为目标的8....

发表于 08-15 16:38 41次 阅读
STC8系列单片机技术参考数据手册和详细资料免费下载

STM32系列的32位微控制器详细产品数据手册免费下载

按内核架构分为不同产品: 主流产品(STM32F0、STM32F1、STM32F3)、超低功耗产品....

发表于 08-14 17:41 96次 阅读
STM32系列的32位微控制器详细产品数据手册免费下载

如何设计一个实时控制的离线电话自动通知系统?

上位机控制软件中主要包括:电子名片管理模块,可以完成联系人基本信息和电话号码的管理(包括增删改查等功....

发表于 08-14 17:28 74次 阅读
如何设计一个实时控制的离线电话自动通知系统?

STM32F101xx和STM32F103xx的固件函数库详细整理资料免费下载

本手册介绍了 32 位基于 ARM 微控制器 STM32F101xx 与 STM32F103xx 的....

发表于 08-14 08:00 77次 阅读
STM32F101xx和STM32F103xx的固件函数库详细整理资料免费下载

以A3967SLB为核心的步进电机控制系统设计

下位机程序主要负责接受PC发来的数据,按照要求产生控制脉冲,具体流程为:首先对要使用的串口进行初始化....

发表于 08-13 17:38 92次 阅读
以A3967SLB为核心的步进电机控制系统设计

TF7960,-60A启动程序的管理详细资料免费下载

系统开发人员关注在启动时最小化Trf7960、-60A(及其变型)系统的当前绘图需要处理调节器控制寄....

发表于 08-13 17:27 31次 阅读
TF7960,-60A启动程序的管理详细资料免费下载

以“面条耳机”“运动耳机”及“头戴式耳机”为例的方案进行探讨

以杰理的“面条耳机”为例:自2016年下半年,杰理推出AC6901A~AC6908A系列后,17年再....

的头像 芯世相 发表于 08-13 16:34 317次 阅读
以“面条耳机”“运动耳机”及“头戴式耳机”为例的方案进行探讨

LDC1000在STM32的程序

#include "stm32f10x.h" #include "usart1.h" #incl....

发表于 08-13 10:36 38次 阅读
LDC1000在STM32的程序

在物联网的刺激下,32位MCU迅猛增长

MCU的身影已广泛出现在手机、PC外围、汽车、工业等领域,但物联网众多的应用将会催生MCU更大的商....

发表于 08-11 11:39 422次 阅读
在物联网的刺激下,32位MCU迅猛增长

一种基于云平台+APP+设备端的身体参数测试系统

利用USB作为系统程序下载接口,需要对其电平进行转换才能与STM32的串口进行通信,本系统采用了CP....

的头像 电子发烧友网 发表于 08-11 11:30 384次 阅读
一种基于云平台+APP+设备端的身体参数测试系统

瑞萨电子推出38款新型MCU,扩充其RX130系列产品线

全球领先的半导体解决方案供应商瑞萨电子株式会社今日宣布推出38款新型微控制器(MCU),扩充其RX....

发表于 08-11 11:20 211次 阅读
瑞萨电子推出38款新型MCU,扩充其RX130系列产品线

《STM32物联网实战教程》单片机教学,计算机网络以及物联网实战概述

《STM32物联网实战教程》集成了单片机教学、计算机网络以及物联网实战这三部分。配合着风媒电子出品的....

发表于 08-10 17:41 202次 阅读
《STM32物联网实战教程》单片机教学,计算机网络以及物联网实战概述

如何设计在stm32中的复位电路?

说到复位,我们都不会陌生,系统基本都有一个复位按键。复位的种类有很多:上电复位、掉电复位、复位引脚复....

的头像 畅学单片机 发表于 08-10 11:33 283次 阅读
如何设计在stm32中的复位电路?

如何使用Keil创建STM32F103的工程

创建一个Keil工程,芯片依旧选择STM32F103C8T6,然后在Manage Run-Time ....

的头像 RTThread物联网操作系统 发表于 08-10 09:32 1211次 阅读
如何使用Keil创建STM32F103的工程

STM32系列MCU,写寄存器Or利用固件库

嵌入式的编程,往下说就是操作MCU的寄存器。而固件库就是函数的集合,固件库函数的作用是向下负责与寄存....

的头像 RTThread物联网操作系统 发表于 08-09 17:22 380次 阅读
STM32系列MCU,写寄存器Or利用固件库

瑞萨电子推出全球首款用于汽车的28nm工艺的集成闪存微控制器

无线下载OTA功能的需求促使了内置闪存容量的不断增大。OTA功能可以自动通过无线网络更新车辆的电子控....

发表于 08-08 16:42 148次 阅读
瑞萨电子推出全球首款用于汽车的28nm工艺的集成闪存微控制器

stm32复位电路设计 浅析stm32复位电路方法

某些系统允许复位,但对外设又有特殊要求:某一个IO状态不能因为复位而改变,某一个定时器计数器不能改变....

发表于 08-08 11:32 169次 阅读
stm32复位电路设计 浅析stm32复位电路方法

一种通用的基于MCU的设计方法详解

化学电阻式传感器为工业控制、HVAC 系统以及健康和安全等应用提供了测量各种气体浓度的低成本方法。由....

的头像 电子设计 发表于 08-07 09:43 869次 阅读
一种通用的基于MCU的设计方法详解

STM32核板的详细数据手册资料免费下载

STM32核板提供了一种负担得起的和灵活的方式为用户试用新概念,并用STM32微控制器构建原型,从性....

发表于 08-07 08:00 53次 阅读
STM32核板的详细数据手册资料免费下载

AVR嵌入式评估板执行固件更新的技巧和诀窍

几乎所有的嵌入式系统都需要能够在现场更新其固件,从而添加新特性或修复漏洞。然而,固件现场更新可能会颇....

的头像 电子设计 发表于 08-06 09:26 765次 阅读
AVR嵌入式评估板执行固件更新的技巧和诀窍

C2837x入门指南:开发环境

C2837x入门指南(三) — 开发环境

的头像 TI视频 发表于 08-06 00:50 165次 观看
C2837x入门指南:开发环境

关于TM4C129X系列TivaWare软件开发包介绍

TM4C129X系列MCU进阶培训-TivaWare

的头像 TI视频 发表于 08-06 00:45 183次 观看
关于TM4C129X系列TivaWare软件开发包介绍

超低功耗MCU MSP430 在触摸转轮和LED灯中的方面的应用

触摸滚轮和LED追踪显示方案介绍

的头像 TI视频 发表于 08-06 00:42 241次 观看
超低功耗MCU MSP430 在触摸转轮和LED灯中的方面的应用

关于TM4C129X系列的时钟系统介绍

TM4C129X系列MCU进阶培训-时钟系统

的头像 TI视频 发表于 08-06 00:40 173次 观看
关于TM4C129X系列的时钟系统介绍

最低功率和最小尺寸的蓝牙5.0解决方案在CC2640R2F的运行

低功耗CC2640R2F无线微控制器室内长距离传输大挑战

的头像 TI视频 发表于 08-06 00:35 417次 观看
最低功率和最小尺寸的蓝牙5.0解决方案在CC2640R2F的运行

关于CC26xx超低功耗无线MCU开发平台的特点及应用介绍

CC26xx超低功耗无线微控制器开发平台介绍

的头像 TI视频 发表于 08-06 00:18 194次 观看
关于CC26xx超低功耗无线MCU开发平台的特点及应用介绍

关于CC1310的组成及工作原理的介绍

CC1310软件速成之一 – CC1310架构及工作原理

的头像 TI视频 发表于 08-06 00:15 253次 观看
关于CC1310的组成及工作原理的介绍

关于CC2640R2F天线套件的特点及应用介绍

CC2640R2F硬件射频从设计到成型之五-CC2640R2F天线套件介绍

的头像 TI视频 发表于 08-06 00:07 205次 观看
关于CC2640R2F天线套件的特点及应用介绍

关于Flash MCU仿真器的几种设计方法详解

由于市场对MCU功能的要求总是不断变化和升级,MCU应用的领域也不断扩展,因此往往需要对最初的设计进....

发表于 08-05 09:58 107次 阅读
关于Flash MCU仿真器的几种设计方法详解

低功耗MCU系统的关键是什么?软硬兼施!

电子产品的低功耗问题经常让产品设计者头痛而又不得不面对。以单片机(MCU)为核心的系统,其功耗主要由....

发表于 08-05 09:11 89次 阅读
低功耗MCU系统的关键是什么?软硬兼施!

了解在MCU中实现串口的不定长数据包接收的过程

在MCU的应用中,经常需要通过串口进行不定长数据包的传输。发送方很简单,不需特别的考虑,而接收方则需....

的头像 嵌入式资讯精选 发表于 08-03 16:37 304次 阅读
了解在MCU中实现串口的不定长数据包接收的过程

基于Freescale HCS12下的MCU通用编程器设计

为了实现飞思卡尔公司HCS12系列MCU的在线编程,通过软件架构和可移植性的方法设计了一个通用编程器....

发表于 08-02 17:33 76次 阅读
基于Freescale HCS12下的MCU通用编程器设计

TI MCMU与无线连接技术研讨会:关于TI公司发展介绍

MSP430 (1) TI 公司介绍

的头像 TI视频 发表于 08-02 01:14 269次 观看
TI MCMU与无线连接技术研讨会:关于TI公司发展介绍

SimpleLink MSP432超低功耗的MCU与物联网的结合

MSP432超低功耗和物联网链接MCU介绍

的头像 TI视频 发表于 08-02 00:45 278次 观看
SimpleLink MSP432超低功耗的MCU与物联网的结合

关于TI SimpleLink™ MCU平台发布会视频

全新TI SimpleLink™ MCU平台发布会

的头像 TI视频 发表于 08-02 00:18 303次 观看
关于TI SimpleLink™ MCU平台发布会视频

SimpleLin MCU 平台:CC13x2/CC26x2产品特点介绍

新一代多频段协议 TI SimpleLink MCU 平台-1.1 SimpleLink CC13x....

的头像 TI视频 发表于 08-02 00:14 261次 观看
SimpleLin MCU 平台:CC13x2/CC26x2产品特点介绍