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

收藏 人收藏
分享:

评论

相关推荐

如何使用FreeMASTER让PC对MCU程序中的数据进行可视化

使用FreeMASTER工具,不需要在目标工程中引用同FreeMASTER相关的源代码,只须将需要实....

的头像 嵌入式资讯精选 发表于 10-20 11:58 83次 阅读
如何使用FreeMASTER让PC对MCU程序中的数据进行可视化

触控IC和触控MCU应用方案有什么不同

触摸ic触摸在此特指单点或多点触控技术; IC,即集成电路,是半导体元件产品的统称。包括:1.集成电....

发表于 10-20 10:06 19次 阅读
触控IC和触控MCU应用方案有什么不同

关于STM32 BLDC众筹第24部视频软启动问题的请教

    众筹视频刚下来,针对第24部视频中电源软启动过程,由于我基础知识薄弱,没有完全理解,但是QQ群会话刷新太快,...

发表于 10-19 17:20 60次 阅读
关于STM32 BLDC众筹第24部视频软启动问题的请教

MCU和电源的选择让您的嵌入式电路设计更高效

  1、MCU的选择           选择 MCU 时要考虑 MCU 所能够完成的功能、MCU 的价...

发表于 10-19 16:44 28次 阅读
MCU和电源的选择让您的嵌入式电路设计更高效

基于STM32的人行通道智能控制与管理系统设计

随着现代社会经济的高速发展,城市人员流动量的大大增加,为保证公共场所高密度人群高效、有序地流动,以及一些区域之间不能随意...

发表于 10-19 16:33 38次 阅读
基于STM32的人行通道智能控制与管理系统设计

基于STM32的高精度程控电流源设计

  低纹波、高精度电流源是一种重要的仪器设备;广泛应用于电光源、电化学、通信、测量技术、电子仪器等领域。目前,市场上的电...

发表于 10-19 16:29 27次 阅读
基于STM32的高精度程控电流源设计

基于STM32的新型电力数据采集系统的设计与实现

引言 传统的电力数据采集系统受限于有限的存储空间和通信接口,存在精度不高、实时性差、采集信息量小等缺点,已无法满足实际...

发表于 10-19 16:29 26次 阅读
基于STM32的新型电力数据采集系统的设计与实现

基于STM32的多路电压采集的设计与实现

1.引言 近年来,数据采集及其应用受到了人们越来越广泛的关注,数据采集系统也有了迅速的发展,它可以广泛的应用于各种领域。...

发表于 10-19 16:27 33次 阅读
基于STM32的多路电压采集的设计与实现

STM32自带的USB稳定吗?

当用到USB通信时,有两种方案:一、是自带USB功能的MCU,例如STM32F103,STM32F107, 二、另外一种是选用专业...

发表于 10-19 15:24 124次 阅读
STM32自带的USB稳定吗?

STM32芯片时钟频率在范围内,串口输出却出现异常

芯片STM32L152,使用MSI时钟,串口波特率为9600. 频率选择524KHZ-4.2MHz时,串口输出正常 频率选择131KHZ时,...

发表于 10-19 11:40 138次 阅读
STM32芯片时钟频率在范围内,串口输出却出现异常

如何安装stm32电机控制工作台

你好, 我最近买了两个BLDC电机控制器,STEVAL-SPIN3202和用于NUCLEO-F401RE的X-NUCLEO-IHM0...

发表于 10-19 11:20 30次 阅读
如何安装stm32电机控制工作台

STM32上电了程序却不运行

如题,MCU为STM32L476RE,上电后程序不运行,必须接仿真器才能运行,测量RESET引脚电压,为0.45V。 该现象不是...

发表于 10-19 09:55 151次 阅读
STM32上电了程序却不运行

史上最全STM32调试步骤!

将Jlink与学习板,USB延长线与学习板,串口延长线与学习板(或者USB转串口线与学习板)连接起来....

的头像 电子发烧友网 发表于 10-18 15:42 173次 阅读
史上最全STM32调试步骤!

[译】MCU解密全攻略

本译文原著为俄国人Sergei P.Skorobogatov就读英吉利剑桥大学之博士论文,电子文档的....

的头像 聚丰开发 发表于 10-18 14:40 133次 阅读
[译】MCU解密全攻略

STM3210C EVAL评估板原理图详细资料免费下载

本文档的主要内容详细介绍的是STM3210C EVAL评估板原理图详细资料免费下载。

发表于 10-18 10:27 26次 阅读
STM3210C EVAL评估板原理图详细资料免费下载

GD32F1xx系列32位MCU选型手册详细资料免费下载

本文档的主要内容详细介绍的是GD32F1xx系列32位ARM Cortex MCU选型手册详细资料免....

发表于 10-18 09:45 14次 阅读
GD32F1xx系列32位MCU选型手册详细资料免费下载

MRT303G01通用振动、位移检测模块的产品数据和使用手册免费下载

MRT303G01是一款集成了振动、位移检测的通用型模块,主要运用在安防、工业控制等相关行业。具有功....

发表于 10-18 08:00 16次 阅读
MRT303G01通用振动、位移检测模块的产品数据和使用手册免费下载

STM32F10x_3.5版固件的模块、数据结构和索引、文件列表等资料

本文档的主要内容详细介绍的是STM32F10x_3.5版固件的模块、数据结构和索引、文件列表等资料。

发表于 10-17 16:53 14次 阅读
STM32F10x_3.5版固件的模块、数据结构和索引、文件列表等资料

STM32和51单片机使用教程之实例说明资料免费下载

本文档的主要内容详细介绍的是STM32和51单片机使用教程之实例说明资料免费下载包括了:51单片机1....

发表于 10-17 16:53 36次 阅读
STM32和51单片机使用教程之实例说明资料免费下载

关于初学STM32中肯的几点建议

通过观察后台提问的内容来看,关注我的人中STM32初学者占大部分,而且大多处于小白阶段。所以,今天暂....

的头像 嵌入式资讯精选 发表于 10-17 16:49 195次 阅读
关于初学STM32中肯的几点建议

STM32库函数代码自动生成器正式版应用程序免费下载

本文档的主要内容详细介绍的是STM32库函数代码自动生成器正式版应用程序免费下载。

发表于 10-17 16:23 26次 阅读
STM32库函数代码自动生成器正式版应用程序免费下载

利用STM32多种型号和AD7606数据采集的源代码系列资料免费下载

本文档的主要内容详细介绍的是利用STM32多种型号和AD7606数据采集的源代码系列资料免费下载包括....

发表于 10-17 08:00 32次 阅读
利用STM32多种型号和AD7606数据采集的源代码系列资料免费下载

STM32最小系统开发板PCB新手搭建利器免费下载

本文档的主要内容详细介绍的是STM32最小系统开发板PCB新手搭建利器免费下载。脚位全引出,,,新手....

发表于 10-17 08:00 51次 阅读
STM32最小系统开发板PCB新手搭建利器免费下载

如何使用N76E003单片机点亮LED的2个方法详细说明

本文档的主要内容详细介绍的是如何使用N76E003单片机点亮LED的2个方法详细说明。新唐N76E0....

发表于 10-17 08:00 34次 阅读
如何使用N76E003单片机点亮LED的2个方法详细说明

双核MCU开发其实也不难!

多核的微控制器(MCU)向来是设计上的一大挑战,尤其是多核异构的设计。

的头像 嵌入式资讯精选 发表于 10-16 18:04 256次 阅读
双核MCU开发其实也不难!

STM32基本系统主要几个部分

其中STM32的JTMS/SWDIO接JTAG口的TMS,STM32的JTCK/SWCLK接JTAG....

的头像 玩转单片机 发表于 10-16 17:44 222次 阅读
STM32基本系统主要几个部分

一文教你如何破解MCU

中央处理器CPU,包括运算器、控制器和寄存器组。是MCU内部的核心部件,由运算部件和控制部件两大部分....

发表于 10-16 16:45 134次 阅读
一文教你如何破解MCU

如何使用ZigBee技术实现无线水表及抄表系统的实现方法资料概述

开发了基于ZigBee技术实现无线水表及抄表系统, 并介绍了其软件、硬件设计方法。采用的MCU和射频....

发表于 10-16 10:11 26次 阅读
如何使用ZigBee技术实现无线水表及抄表系统的实现方法资料概述

JSON格式以及cJSON的使用及注意事项

仔细的同学可能会发现为什么调用了两次cJSON_CreateObject,但只看到释放了其中的dev....

的头像 STM32单片机 发表于 10-16 08:57 298次 阅读
JSON格式以及cJSON的使用及注意事项

TMS320F2833x和TMS320F2823x数字信号控制器DSC的数据手册免费下载

 TMS320F28335,TMS320F28334,TMS320F28332,TMS320F282....

发表于 10-16 08:00 22次 阅读
TMS320F2833x和TMS320F2823x数字信号控制器DSC的数据手册免费下载

STM32封装库的详细资料免费下载

本文档的主要内容详细介绍的是STM32封装库的详细资料免费下载。

发表于 10-15 08:00 25次 阅读
STM32封装库的详细资料免费下载

stm32的八种GPIO配置模式

上拉输入就是在输入电路上使用了上拉电阻。这种模式的好处在于我们什么都不输入时,由于内部上拉电阻的原因....

发表于 10-14 08:20 136次 阅读
stm32的八种GPIO配置模式

市场庞大角逐激烈,夹缝中求生存的本土MCU厂商是否能迎来大爆发?

随着我国集成电路产业的快速发展,云计算、物联网、大数据、VR等新兴业态将不断催生微控制器(MCU)芯....

发表于 10-13 11:27 238次 阅读
市场庞大角逐激烈,夹缝中求生存的本土MCU厂商是否能迎来大爆发?

中国的MCU正在逆袭的道路上走得越来越好

早期的微控制器是将一个计算机集成到一个芯片中,实现嵌入式应用,故称单片机。微处理器和单片机从上个世纪....

发表于 10-13 11:22 355次 阅读
中国的MCU正在逆袭的道路上走得越来越好

MCU技术发展的五个阶段

早期的微控制器是将一个计算机集成到一个芯片中,实现嵌入式应用,故称单片机。微处理器和单片机从上个世纪....

发表于 10-12 15:48 245次 阅读
MCU技术发展的五个阶段

美国微芯科技推出ATmega4808 8位MCU,强大的处理功能能简化AVR架构

AVR-IoT WG开发板(AC164160)让开发人员能够使用免费的在线门户(www.AVR-Io....

发表于 10-12 15:40 102次 阅读
美国微芯科技推出ATmega4808 8位MCU,强大的处理功能能简化AVR架构

详解STM32开发板JLINK调试步骤

烧录成功后,按下学习板上的RST按键(学习板最右边的那个按键),这时候4个LED(LED1-LED4....

的头像 畅学单片机 发表于 10-12 10:32 874次 阅读
详解STM32开发板JLINK调试步骤

物联网与MCU往智能化方向发展

随着人工智能和物联网技术的发展,我们看到智能设备正在加速普及。在这样的发展趋势下,传统的MCU芯片也....

的头像 传感器技术 发表于 10-11 14:08 375次 阅读
物联网与MCU往智能化方向发展

美国微芯科技推出MPLAB®X集成开发环境(IDE)5.05版,可支持大部分AVR MCU

今天,随着美国微芯科技公司(Microchip Technology Inc)推出MPLAB® X集....

发表于 10-11 10:28 92次 阅读
美国微芯科技推出MPLAB®X集成开发环境(IDE)5.05版,可支持大部分AVR MCU

STM32F207V开发板原理图大全详细资料免费下载

本文档的主要内容详细介绍的是STM32F207V开发板原理图大全详细资料免费下载。

发表于 10-11 08:00 55次 阅读
STM32F207V开发板原理图大全详细资料免费下载

ZigBee教程之《ZigBee实战演练》电子教材免费下载

试想着有一天,你坐在电脑前,你家里的空调、冰箱、洗衣机、电视„等在你屏幕前受你掌控时,这便是物联网的....

发表于 10-11 08:00 47次 阅读
ZigBee教程之《ZigBee实战演练》电子教材免费下载

51单片机应用广泛的真正原因是什么?

今天告诉你们一个秘密,为什么我们学的是51单片机,为什么在中国无论是工程师还是大学教师还是大学生都喜....

的头像 玩转单片机 发表于 10-10 17:41 678次 阅读
51单片机应用广泛的真正原因是什么?

FPGA在市场上扮演了关键地位,与MCU共存可穿戴市场

电子产业几个众所周知的趋势包括:所有产品的生命周期都在变短;消费类电子产品制造商可以利用的盈利窗口....

发表于 10-10 17:16 234次 阅读
FPGA在市场上扮演了关键地位,与MCU共存可穿戴市场

为什么MCU晶体两边要各接一个对地电容?

很多MCU开发者对MCU晶体两边要各接一个对地电容的做法表示不理解,因为这个电容有时可以去掉。但事实....

的头像 MCU开发加油站 发表于 10-10 15:10 267次 阅读
为什么MCU晶体两边要各接一个对地电容?

Holtek推出Flash MCU BH66F5242可广泛适用于测量类产品

Holtek新推出内建低噪声、高效能24-bit Delta Sigma A/D的Flash MCU....

发表于 10-10 10:46 239次 阅读
Holtek推出Flash MCU BH66F5242可广泛适用于测量类产品

Holtek推出感烟探测器MCU BA45F5240及BA45F5240-2,具备AFE与双通道IR发射驱动电路

Holtek新推出集成感烟探测器 AFE、双通道IR发射驱动电路的感烟探测器专用MCU ─ BA45....

发表于 10-10 10:41 131次 阅读
Holtek推出感烟探测器MCU BA45F5240及BA45F5240-2,具备AFE与双通道IR发射驱动电路

基于MCU BH66F2232系列血压计,搭配多样弹性化的通讯接口,实现血压计的需求

Holtek新推出高整合度血压计MCU BH66F2232,其内建高性能的血压计电路,包含多个可软件....

发表于 10-10 10:36 56次 阅读
基于MCU BH66F2232系列血压计,搭配多样弹性化的通讯接口,实现血压计的需求

基于HT45F6530 MCU交流稳压电源,可实现交流输入与输出电压以及过零点量测

Holtek针对交流稳压电源AVR(Automatic Voltage Regulator) 推出H....

发表于 10-10 10:33 113次 阅读
基于HT45F6530 MCU交流稳压电源,可实现交流输入与输出电压以及过零点量测

Holtek新推出血压计Flash MCU BH67F2261,可满足独立型血压计的需求

Holtek新推出血压计Flash MCU BH67F2261,其内建高性能的血压计电路,包含多个可....

发表于 10-10 10:28 45次 阅读
Holtek新推出血压计Flash MCU BH67F2261,可满足独立型血压计的需求

Holtek推出新款HT45F0062系列MCU,最多可驱动36点12颗RGBLED灯数

Holtek RGB LED Flash MCU系列新增HT45F0062,此颗MCU为HT45F0....

发表于 10-10 10:23 45次 阅读
Holtek推出新款HT45F0062系列MCU,最多可驱动36点12颗RGBLED灯数

详细解读STM32基本系统

无论是否使用模拟部分和AD部分,MCU外围出去VCC和GND,VDDA、VSSA、Vref(如果封装....

的头像 电子发烧友网 发表于 10-10 08:44 301次 阅读
详细解读STM32基本系统

Cortex-M0系列STM32F030F4通用用户指南详细资料免费下载

Cortex-M0处理器构建在高性能处理器核心上,具有3级流水线von Neumann体系结构,非常....

发表于 10-10 08:00 40次 阅读
Cortex-M0系列STM32F030F4通用用户指南详细资料免费下载

STM32F030F4单片机的出厂程序详细资料免费下载

本文档的主要内容详细介绍的是STM32F030F4单片机的出厂程序详细资料免费下载。

发表于 10-10 08:00 51次 阅读
STM32F030F4单片机的出厂程序详细资料免费下载

stm32下载程序解决4线sw下载不成功keil问题

本文档的主要内容详细介绍的是stm32下载程序解决4线sw下载不成功keil问题详细资料免费下载。

发表于 10-09 08:00 44次 阅读
stm32下载程序解决4线sw下载不成功keil问题

VSF MCU的基本架构移植技巧浅析

VSF的MCU移植包括2部分,1是基本构架,2是外设驱动移植。这里先讲一下基本构架的移植。

发表于 10-08 15:07 72次 阅读
VSF MCU的基本架构移植技巧浅析

MPLAB® X集成开发环境现已支持AVR®单片机

对AVR架构不熟悉的开发人员可以利用跨多个操作系统的统一开发平台轻松开始设计工作。

的头像 人间烟火123 发表于 10-08 12:44 778次 阅读
MPLAB® X集成开发环境现已支持AVR®单片机

STM32F4VE单片机核心板原理图和封装库的详细资料免费下载

本文档的主要内容详细介绍的是STM32F4VE单片机核心板原理图和封装库的详细资料免费下载。

发表于 10-08 08:00 54次 阅读
STM32F4VE单片机核心板原理图和封装库的详细资料免费下载

STM32F0系列微控制器安全手册的详细资料免费下载

 本文件描述如何在安全相关系统的上下文中使用STM32F0系列的微控制器,指定用户在安装和操作方面的....

发表于 10-08 08:00 36次 阅读
STM32F0系列微控制器安全手册的详细资料免费下载

TS08NE 8通道自校准电容式触摸传感器的数据手册免费下载

RYBIAS连接到电阻器以决定振荡器和内部偏置电流。因此,可以用RBBBB调节检测频率、内部时钟频率....

发表于 10-08 08:00 29次 阅读
TS08NE 8通道自校准电容式触摸传感器的数据手册免费下载

CC3200MOD SimpleLink Wi-Fi CC3200 片上因特网无线 MCU 模块

使用业界首款可编程FCC,IC,CE和Wi-Fi认证无线微控制器(MCU)模块,内置Wi-Fi,开始您的设计连接。 SimpleLink CC3200MOD专为物联网(IoT)而创建,是一个集成了ARM Cortex-M4 MCU的无线MCU模块,允许客户使用单个设备开发整个应用程序。凭借片上Wi-Fi,互联网和强大的安全协议,无需先前的Wi-Fi体验即可加快开发速度。 CC3200MOD将所有必需的系统级硬件组件(包括时钟,SPI闪存,RF开关和无源元件)集成到LGA封装中,以便于组装和低成本PCB设计。 CC3200MOD作为完整的平台解决方案提供,包括软件,样本应用,工具,用户和编程指南,参考设计以及TI E2E支持社区。 应用MCU子系统包含行业标准的ARM Cortex- M4内核以80 MHz运行。 该器件包括各种外设,包括快速并行相机接口,I2S,SD /MMC,UART,SPI,I2C和四通道ADC。 CC3200系列包括用于代码和数据的灵活嵌入式RAM;带外部串行闪存引导程序和外设驱动程序的ROM;用于Wi-Fi网络处理器服务包,Wi-Fi证书和凭证的SPI闪存。 Wi-Fi网络处理器子系统具有Wi-Fi片上网络,并包含一个附加功能专用的ARM...

发表于 08-20 17:53 56次 阅读
CC3200MOD SimpleLink Wi-Fi CC3200 片上因特网无线 MCU 模块