张飞软硬开源基于STM32 BLDC直流无刷电机驱动器开发视频套件,👉戳此立抢👈

教程:只需六步,将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入门100步

创新的洋桃教学视频集合,杜洋主讲的百集视频,以多组视频针对不同程度的学习者,0基础和会51单片机的学习者会看到不同的视频
发表于 10-23 00:00 95936次 阅读
STM32入门100步

STM32入门100步

创新的洋桃教学视频集合,杜洋主讲的百集视频,以多组视频针对不同程度的学习者,0基础和会51单片机的学习者会看到不同的视频
发表于 10-23 00:00 95936次 阅读
STM32入门100步

更改通知引脚是否易碎?

我正在开发一个PIC32毫米微控制器的应用程序。在MCU,我在RB11启用了外部中断,在RA4管脚启用了Change On Notifica...
发表于 05-20 14:27 9次 阅读
更改通知引脚是否易碎?

请问STM32F7 CUBEMX LWIP会突然ping延时是什么原因?

STM32 CUBEMX LWIP 会突然ping 延时 有时候好几个小时都不会出现,但有时十几分钟就出现 。 生成的代码只跑L...
发表于 05-20 13:37 59次 阅读
请问STM32F7 CUBEMX LWIP会突然ping延时是什么原因?

STM32 GPIO的8种配置种类

最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多: (1)GPIO_Mode_AIN 模拟输入 ...
发表于 05-20 12:18 7次 阅读
STM32 GPIO的8种配置种类

中国市场需求倒退,瑞萨电子7年来首度亏损,这个“锅”该中国市场背吗?

国内MCU需求市场可谓是喜忧参半,相较于此前总体上扬的态势,瑞萨电子解读为需求倒退也是无可厚非。
的头像 半导体观察IC 发表于 05-20 10:05 214次 阅读
中国市场需求倒退,瑞萨电子7年来首度亏损,这个“锅”该中国市场背吗?

ATK MiniFly的常见问题汇总和解答资料说明免费下载

本文档的主要内容详细介绍的是ATK MiniFly的常见问题汇总和解答资料说明免费下载包括了:1. ....
发表于 05-20 08:00 3次 阅读
ATK MiniFly的常见问题汇总和解答资料说明免费下载

STM32开发板ST-Link调试教程资料免费下载

之前所有正点原子 STM32 教程讲解的调试工具都是以 JLINK 为例。由于德产 J-LINK 价....
发表于 05-20 08:00 14次 阅读
STM32开发板ST-Link调试教程资料免费下载

使用STM32F103C8T6单片机Keil uV4进行PA.8二极管闪亮编程的资料说明

本文档的主要内容详细介绍的是使用STM32F103C8T6单片机Keil uV4进行PA.8二极管闪....
发表于 05-20 08:00 8次 阅读
使用STM32F103C8T6单片机Keil uV4进行PA.8二极管闪亮编程的资料说明

STM32F103的SPI1和USART2存在冲突

STM32F103的同时使用SPI1和USART2发现有冲突,有个AD芯片读取使用SPI1通讯,用USART2与232芯片通讯,但是...
发表于 05-20 06:25 46次 阅读
STM32F103的SPI1和USART2存在冲突

请问AD6.9中只能完全手工画stm32f103VET6吗?

AD6.9中IPC Footprint Wizard和Component Wizard是不是都不能画stm32f103VET6的封装,里面没有LQFP的封装,我试...
发表于 05-20 04:39 4次 阅读
请问AD6.9中只能完全手工画stm32f103VET6吗?

请问有基于STM32ZET6的wifi模块ESP8266的图传到手机的例子吗?

发表于 05-20 04:37 8次 阅读
请问有基于STM32ZET6的wifi模块ESP8266的图传到手机的例子吗?

请问能在MDK里面找到STC80C51芯片类型吗?

之前买了STM32的开发板,装了MDK5,现在我要用STC80C51芯片,可以在MDK里面找到该芯片类型吗?还是要装其他软件?...
发表于 05-20 04:24 78次 阅读
请问能在MDK里面找到STC80C51芯片类型吗?

STM32的时钟设定为什么要检测3,2位?

原子:      你好,我想问问, while(temp!=0x02)     //等待PLL作为系统时钟设置...
发表于 05-20 02:24 6次 阅读
STM32的时钟设定为什么要检测3,2位?

用精英版STM32F103做蓝牙HC05实验手机上收不到

用精英版STM32F103,做蓝牙HC05的实验,代码直接是适用于战舰V3和精英版的那个库函数版本代码,连接正确了,hc05初始化过了...
发表于 05-20 01:52 4次 阅读
用精英版STM32F103做蓝牙HC05实验手机上收不到

请问STM32例程调试esp8266模块不用LCD屏显示可以不接sd卡吗?

STM32例程调试esp8266模块不用LCD屏显示可以不接sd卡吗,用的是32例程 ,谢谢...
发表于 05-19 22:05 5次 阅读
请问STM32例程调试esp8266模块不用LCD屏显示可以不接sd卡吗?

STM32的icf文件有什么作用

每个芯片开发商都会针对每款芯片来编写一个.icf文件就是传说中的链接文件。对于基本的应用,这个.ic....
发表于 05-18 10:30 44次 阅读
STM32的icf文件有什么作用

浅谈嵌入式MCU的中断处理

众所周知,一方面,MCU在嵌入式系统中的广泛使用的一个重要原因就是其相对于MPU和通用CPU的时效性....
发表于 05-18 10:23 50次 阅读
浅谈嵌入式MCU的中断处理

使用STM32单片机进行线性稳压电源的设计方案详细资料说明

随着计算机技术与电子信息技术的快速发展,在实际应用中根据调整管不同的工作状态把电源区分为开关电源、线....
的头像 电子发烧友网工程师 发表于 05-18 10:03 291次 阅读
使用STM32单片机进行线性稳压电源的设计方案详细资料说明

CA51F3系列MCU芯片中文用户手册免费下载

CA51F3系列芯片是基于1T 8051内核的8位微控制器,通常情况下,运行速度比传统的8051芯片....
发表于 05-17 17:10 28次 阅读
CA51F3系列MCU芯片中文用户手册免费下载

CC1101与MSP430接口库移植到STM32的详细资料说明

移植原来 TI 对于 CC1101 与 MSP430 接口库到 STM32 平台,参考原 TI 库应....
发表于 05-17 17:10 22次 阅读
CC1101与MSP430接口库移植到STM32的详细资料说明

用于便携式设备的低功耗MCU系统设计方法及应用

随着电子便携式设备在全球的风行,人们对电子便携式设备的要求也越来越高,希望产品有更多的功能,如手机摄....
发表于 05-17 16:41 68次 阅读
用于便携式设备的低功耗MCU系统设计方法及应用

STM32F103ZET6的电路原理图免费下载

本文档的主要内容详细介绍的是STM32F103ZET6的电路原理图免费下载。
发表于 05-17 08:00 43次 阅读
STM32F103ZET6的电路原理图免费下载

STM32微控制器的图形工具STM32Cubemx的用户手册免费下载

STM32Cubemx是一个用于STM32微控制器的图形工具。它是STM32Cube™计划的一部分(....
发表于 05-17 08:00 28次 阅读
STM32微控制器的图形工具STM32Cubemx的用户手册免费下载

HBS640 LED驱动控制专用电路芯片的数据手册免费下载

HBS640 是一种LED(发光二极管显示器)驱动控制专用电路,内部集成有MCU 数字接口、数据锁存....
发表于 05-17 08:00 29次 阅读
HBS640 LED驱动控制专用电路芯片的数据手册免费下载

瑞萨电子发布RX72T系列MCU,为工业机器人伺服控制带来更丰富的微控制器选择

32位RX72T系列MCU获得CoreMark®基准5V MCU评测最高成绩,为伺服电机带来专用硬件....
发表于 05-16 10:40 166次 阅读
瑞萨电子发布RX72T系列MCU,为工业机器人伺服控制带来更丰富的微控制器选择

STM32-PZ6806L开发板电路原理图免费下载

本文档的主要内容详细介绍的是STM32-PZ6806L开发板电路原理图免费下载。
发表于 05-16 08:00 31次 阅读
STM32-PZ6806L开发板电路原理图免费下载

意法半导体STM32 8位和32位微控制器系列的产品选择指南资料免费下载

本文档的主要内容详细介绍的是意法半导体STM32 8位和32位微控制器系列的产品选择指南资料免费下载....
发表于 05-15 17:23 49次 阅读
意法半导体STM32 8位和32位微控制器系列的产品选择指南资料免费下载

如何使用STM32单片机进行超声波测距的程序和资料说明

本文档的主要内容详细介绍的是如何使用STM32单片机进行超声波测距的程序和资料说明。
发表于 05-15 08:00 98次 阅读
如何使用STM32单片机进行超声波测距的程序和资料说明

安富莱STM32F103ZE-EK开发板电路原理图免费下载

本文档的主要内容详细介绍的是安富莱STM32F103ZE-EK开发板电路原理图免费下载。
发表于 05-14 16:51 27次 阅读
安富莱STM32F103ZE-EK开发板电路原理图免费下载

贸泽电子分销STM32WB无线微控制器 适用于各种物联网应用

贸泽电子 (Mouser Electronics) 即日起开始分销STMicroelectronic....
的头像 电子发烧友网工程师 发表于 05-14 13:49 457次 阅读
贸泽电子分销STM32WB无线微控制器 适用于各种物联网应用

MCU从“控制”迈向“智能互联”,国内厂商机会何在?

随着“AI+IoT”融合类应用市场的兴起,如今的MCU开始踏上了AIoT的技术整合之路。在AIoT时....
的头像 荷叶塘 发表于 05-14 09:16 2468次 阅读
MCU从“控制”迈向“智能互联”,国内厂商机会何在?

STM32F429xx高性能ARM处理器的数据手册免费下载

STM32F429xx设备基于高性能ARM®Cortex™-M4 32位RISC核心,工作频率高达1....
发表于 05-14 08:00 42次 阅读
STM32F429xx高性能ARM处理器的数据手册免费下载

采用LCD模块为显尚光电的DST2001PH TFTLCD

R7,显示控制命令。该命令 CL 位用来控制是 8 位彩色,还是 26 万色。为 0 时 26 万色....
的头像 畅学单片机 发表于 05-13 16:32 199次 阅读
采用LCD模块为显尚光电的DST2001PH TFTLCD

GD32 创新解决方案加速即时配送行业的智能化变革

以GD32 MCU的强劲动力加速城市骑行和即时配送行业的智能化发展步伐。
发表于 05-13 16:16 125次 阅读
GD32 创新解决方案加速即时配送行业的智能化变革

使用STM32系列单片机设计的俄罗斯方块游戏的程序免费下载

本文档的主要内容详细介绍的是使用STM32系列单片机设计的俄罗斯方块游戏的程序免费下载。可以使用ST....
发表于 05-13 08:00 46次 阅读
使用STM32系列单片机设计的俄罗斯方块游戏的程序免费下载

NANO STM32F103开发板教程开发指南资料免费下载

本手册将由浅入深,带领大家学习 STM32F103 的各个功能,为您开启全新的 STM32 之旅。本....
发表于 05-13 08:00 44次 阅读
NANO STM32F103开发板教程开发指南资料免费下载

MSP-EXP430G2快速启动板的开发工具包用户手册免费下载

MSP-exp430g2 LaunchPad开发工具包是一种用于MSP430G2xx值系列微控制器的....
发表于 05-13 08:00 47次 阅读
MSP-EXP430G2快速启动板的开发工具包用户手册免费下载

STM32F4xxx系列微控制器的中文参考手册免费下载

本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/....
发表于 05-13 08:00 53次 阅读
STM32F4xxx系列微控制器的中文参考手册免费下载

stm32的IO模式具体意义

在开发STM32的时候,都需要对IO的模式进行配置(GPIO_InitStructure. GPIO....
发表于 05-12 10:37 111次 阅读
stm32的IO模式具体意义

详解ST MCU的unique ID

上面说了ST MCU芯片中的绝大部分都带UID,也就是说并非所有ST MCU芯片都带它。到底谁带谁不....
发表于 05-12 10:21 74次 阅读
详解ST MCU的unique ID

东芝基于Arm Cortex®-M的新款MCU特性分析

近日,东芝推出基于Arm® Cortex®-M的新系列MCU——M4G群,该MCU群具备高效率、低功....
的头像 东芝半导体与存储产品 发表于 05-11 08:34 506次 阅读
东芝基于Arm Cortex®-M的新款MCU特性分析

STM32时钟要先倍频N倍再分频的原因是什么?

一般的晶振由于工艺与成本原因,做不到很高的频率,而在需要高频应用时,由相应的器件VCO,实现转成高频....
的头像 嵌入式资讯精选 发表于 05-10 17:09 483次 阅读
STM32时钟要先倍频N倍再分频的原因是什么?

如何通过安全和可扩展的方式来管理上千计的设备

在当今的互联世界中,要为物联网(loT)应用提供全面深入的安全保护,在多个方面带来了挑战。Renes....
发表于 05-10 16:51 35次 阅读
如何通过安全和可扩展的方式来管理上千计的设备

M68HC908EY16微控制器的数据手册免费下载

68HC908EY16是8位微控制器单元(MCU)的低成本、高性能M68HC08系列的一员。该系列中....
发表于 05-09 08:00 41次 阅读
M68HC908EY16微控制器的数据手册免费下载

Alientek MiniSTM32开发板例程库函数版本资料合集免费下载

本文档的主要内容详细介绍的是Alientek Ministm32开发板例程库函数版本资料合集免费下载....
发表于 05-09 08:00 33次 阅读
Alientek MiniSTM32开发板例程库函数版本资料合集免费下载

RT-Thread、STM32H7、LWIP简介

STM32H7是ST意法半导体Cortex_M系列最高性能处理器。主频高达400M,FLASH高达2....
的头像 RTThread物联网操作系统 发表于 05-07 17:27 389次 阅读
RT-Thread、STM32H7、LWIP简介

基于EFM32低功耗MCU的新型无磁水表方案

随着时代发展,智能水表替代部分传统机械水表,得到广泛应用。而智能水表的计量方式也随着电子技术的发展越....
的头像 SiliconLabs 发表于 05-07 11:19 353次 阅读
基于EFM32低功耗MCU的新型无磁水表方案

TM1624 LED驱动控制专用电路的数据手册免费下载

TM1624 是LED(发光二极管显示)驱动控制专用电路,内部集成有MCU 数字接口、数据锁存器、L....
发表于 05-07 08:00 57次 阅读
TM1624 LED驱动控制专用电路的数据手册免费下载

TM1629A LED驱动控制专用芯片的数据手册免费下载

TM1629A是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用IC,内部集成有MCU 数....
发表于 05-07 08:00 66次 阅读
TM1629A LED驱动控制专用芯片的数据手册免费下载

Flash-Loader设置只显示COM0的解决办法

最近开始研究STM32,从网上买了DMSTM-L开发板,由于没有卖J-link仿真器,只能使用自带的....
发表于 05-06 11:42 31次 阅读
Flash-Loader设置只显示COM0的解决办法

基于STM32F103的STM32库开发实战指南PDF电子书免费下载

本书着重讲解 F103 的外设以及外设的应用,力争全面分析每个外设的功能框图和外设的使用方法,让读者....
发表于 05-06 08:00 108次 阅读
基于STM32F103的STM32库开发实战指南PDF电子书免费下载

MCU健壮性设计之模拟输入的特殊特性

通过源电阻的泄漏电流,在变换器输入端引入电压降。其影响仍然是有限的(大约1kOhm),但是必须确保测....
的头像 汽车电子硬件设计 发表于 05-05 10:52 345次 阅读
MCU健壮性设计之模拟输入的特殊特性

STM32F103ZET6的电路和PCB原理图免费下载

本文档的主要内容详细介绍的是STM32F103ZET6的电路和PCB原理图免费下载。
发表于 05-05 08:00 103次 阅读
STM32F103ZET6的电路和PCB原理图免费下载

如何使用STM32通过软模拟通信协议进行MS5535C通信的源代码免费下载

本文档的主要内容详细介绍的是如何使用STM32通过软模拟通信协议进行MS5535C通信的源代码免费下....
发表于 04-30 08:00 72次 阅读
如何使用STM32通过软模拟通信协议进行MS5535C通信的源代码免费下载

主控制器MCU JZ4740的详细资料介绍

MCU 为产品核心器件,又称CPU。内部包含有运算器、控制器、存储器等。它相当于人的大脑,指挥着各个....
发表于 04-29 17:04 96次 阅读
主控制器MCU JZ4740的详细资料介绍

重磅!ST MCU、传感器全面支持AI!STM32规划曝光,确保十年供货!

一年一度的STM32技术峰会日前在深圳举办,今年现场人数达到3500之多。 AI成为2019年ST峰....
的头像 芯链 发表于 04-29 16:34 2840次 阅读
重磅!ST MCU、传感器全面支持AI!STM32规划曝光,确保十年供货!

RS14100硬件参考手册资料免费下载

Redpine MCU和WiseMcuTM系列包括用于用户应用的ARM®Cortex®M4处理器(修....
发表于 04-29 08:00 50次 阅读
RS14100硬件参考手册资料免费下载

移远通信成为意法半导体STM32战略合作伙伴

意法半导体2019年STM32峰会在深圳举办。会议期间,意法半导体宣布与移远通信、阿里云等物联网产业....
发表于 04-28 17:23 895次 阅读
移远通信成为意法半导体STM32战略合作伙伴

TMS320F28076 TMS320F2807x Piccolo 微控制器

C2000™32位微控制器在处理,传感和驱动方面进行了优化,可提高实时控制应用中的闭环性能,例如工业电机驱动,光伏逆变器和数字电源,电动车辆与运输,电机控制以及传感和信号处理.C2000产品线包括Delfino™高端性能系列和Piccolo™入门级性能系列。 TMS320F2807x微控制器平台属于Piccolo™系列,适用于高级闭环控制应用,例如工业电机驱动,光伏逆变器和数字电源,电动车辆与运输以及传感和信号处理。数字电源和工业驱动器的完整开发包作为powerSUITE和DesignDRIVE方案的一部分提供。 F2807x是基于TI行业领先的C28x内核的32位浮点微控制器。此内核的性能通过三角运算硬件加速器得到了提升,该加速器利用CPU指令(如正弦,余弦和反正切函数)提高了转矩环路和位置计算中常见的基于三角运算的算法性能。 F2807x微控制器系列采用一个CLA实时控制协处理器.CLA是一款独立的32位浮点处理器,运行速度与主CPU相同。该CLA会对外设触发器作响响应,并与主C28x CPU同时执行代码。这种并行处理功能可有效加倍实时控制系统的计算性能。通过利用CLA执行时间关键型功能,主C28x CPU可以得到释放,以便用于执行通信和诊断等其...
发表于 01-08 17:49 95次 阅读
TMS320F28076 TMS320F2807x Piccolo 微控制器

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 145次 阅读
CC3200MOD SimpleLink Wi-Fi CC3200 片上因特网无线 MCU 模块