收藏官网首页
查看: 31038|回复: 8

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

0

主题

2

帖子

150

积分

注册会员

Rank: 2

积分
150
跳转到指定楼层
楼主
发表于 2018-6-8 10:02:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
汉枫LPB120模块
本帖最后由 Genius 于 2018-6-26 16:34 编辑

手头上正好有STM32的开发板和ESP-12E模块,想着控制个WS2812玩玩。到MCU开发的时候下载了生成的代码发现是HAL库的,无奈自己刚刚学习stm32,用的是标准库在论坛发现关于STM32CubeMX移植的教程满天飞,标准库却寥寥无几,发现有很多群友和我一样刚刚接触不知道怎么移植,这里参考了官方的移植MSP340教程并修改出适用于STM32标准库的教程。

-----------------------------------------------------------------------------------------------------------------------
诶,那个,第一次写教程,stm32也刚接触没多久,水平有限,有什么写得不好或者错了的地方请告之改正

OK,第三步进入正题

1、下载好的代码包是这样的,需要把这两个文件夹直接复制到自己工程的文件夹里面:


2、添加到自己的工程组里面,并添加路径:


3、正题来了,现在开始移植工作,需要修改的文件分别如下:

3.1、打开gizwits_product.h 需要修改的地方如下查看代码行数可以快速找到)

3.2、打开gizwits_product.c,需要修改的地方如下:


下面删除的几个初始化函数很重要...必须自己写好,要能正常使用


接下来是串口发送函数,我用的是DMA+中断发送接收的,修改成能发送数据的函数..建议先把串口功能调试好在填入调用
  1. int32_t uartWrite(uint8_t *buf, uint32_t len)
  2. {
  3.         
  4.     uint32_t i = 0;
  5.         
  6.     if(NULL == buf)
  7.     {
  8.         return -1;
  9.     }

  10.     for(i=0; i<len; i++)
  11.     {
  12.          //这里填入串口发送函数
  13.           TxBuff_esp8266[i]=*buf++;
  14.                         
  15.        /* if(i >=2 && buf[i] == 0xFF)
  16.         {                        
  17.              //这里填入串口发送函数,发送0x55,意思是遇到0xFF后面要加0x55
  18.              //这地方折腾了很久才成功,官方的大神说要加上,但是我删除了也可以用,求解释
  19.              //官方说是要求加上的..我直接删除了也能用,你们要是这里加了不行的话也删掉试试
  20.         }*/
复制代码
修改好了记得保存。

4、接下来打开main.c文件
添加自己的初始化代码,并且调用gizwits的相关函数
记得把这两个头文件包含进去
  1. #include "gizwits_product.h"
  2. #include "common.h"
复制代码



我的初始化函数是自己封装的,比较简陋,反正功能能实现就行了

5、修改中断函数


接下来就是编译了要是有错误的地方看一下是不是外部函数调用的时候没有包含进函数所在的头文件。

6、打开gizwits_product.c,找到gizwitsEventProcess的函数,下面那里有你添加的数据点,可以添加自己想要的功能,举个栗子我的是控制WS2812,直接在里面调用WS2812的亮灯函数,把读到的数据颜色数据填入就可以了



移植的步骤大概就是这么多,试了一下烧录了进去确实可以用app控制。还有很多功能没有调试,剩下的功能要去参考其他大神的了。静静的做一名的伸手党。




要是有什么错误的地方请指正,我也是这两天刚刚琢磨出来,希望能互相学习。

附上参考官方的移植MSP430教程:
http://docs.gizwits.com/zh-cn/deviceDev/GoKit3_DEV_SDK_Common_transplant.html


顺便问一下。。下面多了两张图片怎么删除。。第一次用这个。。  - -








QQ截图20180608105201.png (43.91 KB, 下载次数: 202)

QQ截图20180608105201.png

QQ截图20180608111347.png (68.79 KB, 下载次数: 180)

QQ截图20180608111347.png

0

主题

2

帖子

36

积分

新手上路

Rank: 1

积分
36
沙发
发表于 2018-6-9 14:28:07 | 只看该作者
可以学习学习~

点评

............  详情 回复 发表于 2018-6-11 09:08

0

主题

2

帖子

150

积分

注册会员

Rank: 2

积分
150
板凳
 楼主| 发表于 2018-6-11 09:08:32 | 只看该作者

............

0

主题

5

帖子

32

积分

新手上路

Rank: 1

积分
32
地板
发表于 2018-6-13 03:03:39 | 只看该作者
顶一个,学习学习,哈哈哈

562

主题

1222

帖子

8127

积分

版主

Rank: 7Rank: 7Rank: 7

积分
8127
5#
发表于 2018-6-15 15:14:35 | 只看该作者
注册成为机智云开发者,手机加虚拟设备快速开发
感谢分享,文章已分享至公众号:  https://mp.weixin.qq.com/s?__biz ... 1861ce554b5e1ff7#rd

点评

好的~......  详情 回复 发表于 2018-6-19 09:07
1、机智云QQ群: 287087942
机智云爱好者-APP开发群: 599735135
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、机智云微信公众号: 机智云 gizwits /   机智云智能宠物屋go-kit
关注机智云Gizwits官方公众号随时掌握最新资讯和活动信息

0

主题

2

帖子

150

积分

注册会员

Rank: 2

积分
150
6#
 楼主| 发表于 2018-6-19 09:07:57 | 只看该作者
Genius 发表于 2018-6-15 15:14
感谢分享,文章已分享至公众号:  https://mp.weixin.qq.com/s?__biz=MzI4NzQxNzkwNA==&mid=2247485282&idx ...

好的~......

0

主题

1

帖子

228

积分

中级会员

Rank: 3Rank: 3

积分
228
7#
发表于 2018-10-6 15:28:45 来自手机 | 只看该作者
ESP8266那个在哪定义的

0

主题

13

帖子

84

积分

注册会员

Rank: 2

积分
84
8#
发表于 2019-2-2 11:39:56 | 只看该作者
#在这里快速回复#在论坛发现关于STM32CubeMX移植的教程满天飞???在哪里?我咋找不到
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表