收藏官网首页
查看: 1655|回复: 7

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

0

主题

2

帖子

144

积分

注册会员

Rank: 2

积分
144
发表于 2018-6-8 10:02:36 | 显示全部楼层 |阅读模式
ESP8266模块首单6.8元
本帖最后由 Genius 于 2018-6-26 16:34 编辑

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

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

OK,第三步进入正题

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

2、添加到自己的工程组里面,并添加路径:
QQ截图20180608102135.png QQ截图20180608102522.png

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

3.1、打开gizwits_product.h 需要修改的地方如下查看代码行数可以快速找到)
QQ截图20180608103610.png
3.2、打开gizwits_product.c,需要修改的地方如下:
QQ截图20180608104241.png QQ截图20180608111347.png

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

接下来是串口发送函数,我用的是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"
复制代码


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

5、修改中断函数
QQ截图20180608112932.png

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

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


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



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

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


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








QQ截图20180608105201.png
QQ截图20180608111347.png

0

主题

2

帖子

36

积分

新手上路

Rank: 1

积分
36
发表于 2018-6-9 14:28:07 | 显示全部楼层
可以学习学习~

点评

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

0

主题

2

帖子

144

积分

注册会员

Rank: 2

积分
144
 楼主| 发表于 2018-6-11 09:08:32 | 显示全部楼层

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

0

主题

5

帖子

32

积分

新手上路

Rank: 1

积分
32
发表于 2018-6-13 03:03:39 | 显示全部楼层
顶一个,学习学习,哈哈哈
发表于 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

帖子

144

积分

注册会员

Rank: 2

积分
144
 楼主| 发表于 2018-6-19 09:07:57 | 显示全部楼层
Genius 发表于 2018-6-15 15:14
感谢分享,文章已分享至公众号:  https://mp.weixin.qq.com/s?__biz=MzI4NzQxNzkwNA==&mid=2247485282&idx ...

好的~......
发表于 2018-7-14 00:10:25 | 显示全部楼层
工程可以分享下么

0

主题

1

帖子

160

积分

注册会员

Rank: 2

积分
160
发表于 2018-10-6 15:28:45 来自手机 | 显示全部楼层
ESP8266那个在哪定义的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

© 2011-2017 Gizwits ( 粤ICP备11090211号 )

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