以前没整过STM32,没玩过四轴,感谢谷哥,感谢度娘。
大哥传帮带,新人同进步!
以前没整过STM32,没玩过四轴,感谢谷哥,感谢度娘。
大哥传帮带,新人同进步!
下单:
快递:
收件:
全家福:
First Blood:
果然如前人所述,USB的管脚太密,一不小心就连起来了,后来多上了点锡,用吸锡枪一吸就好了。
第三只手:
遥控器完工(USB接口看着实在脆弱,后来又用哥俩好粘了一圈):
四轴开关:
此处BOOT脚为2.0的,没找着相应排针,换个圆的能凑合插进去:
点灯测试:
背面:
完工:
遥控器:
完工之后首飞成功,固件已经下载好了的。
STM32开发环境的搭建
以前从没有整过STM32,没用过开发环境,所以一边google,一边做。
1、Keil MDK_510
下载地址:
http://www.keil.com/arm/mdk.asp
文件地址:
http://www.keil.com/fid/sj223zwtdy9j1wytrp11z4atj93ocqd1u9yxd1/files/eval/mdk_510.exe
2、注册机
下载地址:
3、Keil.STM32F1xx_DFP.1.0.5.pack
下载地址:
文件地址:
http://www.keil.com/pack/Keil.STM32F1xx_DFP.1.0.5.pack
安装方法见下面的网页:
http://www.ucortex.com/forum.php?mod=viewthread&tid=116
不再赘述。
Tips:
对于国外的地址,可能下载的比较慢,我的解决方法是,利用百度网盘的离线下载功能,一般要下载的文件已经存放在百度的服务器上了,基本上是秒传,然后再从百度云上下载该文件,速度不错。
Alientek STM32 《不完全手册V2.0》+37个实验源码+原理图(申请置酷)
http://www.amobbs.com/thread-4517523-1-1.html
网上看到的,先Mark,学习一下
晚上新建了project,并编译通过,以后可以在此基础上修改代码了。全部参考网上的内容,仅Mark一下自己参考。
还有好多stsw-stm32前缀的文件不知道是干嘛的,新版?不去管。
下载地址:Google输入stsw-stm32054.zip,回车就有了
备用,得到:
_htmresc:ST的logo完全无用,不用理会。
Libraries:比较重要的文件包含STM32的系统文件和大量头文件,也就是库文件了。
Project:包含大量外设的例程,和各个软件版本的评估板工程模板。KEIL对应的就是MDK-ARM文件下的工程模板。你可以利用这个工程模板来修改,得到你自己的工程模块,本文不用此法。
Utilities:就是评估板的相关文件,引脚定义等。
新建文件夹stm32-demo,在里面新建Lib,List,Output,User四个文件夹,并新建工程:
选择CPU: 103C8
将解压出来的外设库中Libraries目录下两个文件夹拷至工程Lib目录,选择一个库里提供的Example,我选的GPIO目录下的IOToggle,将该目录下文件全都拷至工程User目录下
添加工程Item:
如上图所示,修改工程名,建立四个Group,点击Groups 一栏右上角图标,依次新建User、CMSIS、Lib、StartUp四个组,点击对应的组再点击右下方Add Files添加相应的文件到对应的组中。
User组中添加USER文件夹下的c文件。
CMSIS组中添加\LIB\CMSIS\CM3\CoreSupport文件夹下core_cm3.c文件。
LIB组下添加\LIB\STM32F10x_StdPeriph_Driver\src下的所有文件,这个组的文件也可以根据后面的程序功能添加对应的功能文件。
StartUp组下添加 \LIB\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm 文件夹下startup_stm32f10x_md.s文件,此文件根据芯片的所属类型来选择,STM32F103C8为中等容量器件所以选择md结尾的启动文件。
至此,已经将对应的文件全部加入工程。
添加完成后工程主界面左侧会显示已添加内容:
1、修改目标时钟,选中Use MicroLIB
2、选择输出目录Output,此处要双击工程内Output文件夹才可选中该目录,选中Create HEX File。
3、选择Listing目录List,方法同上。
4、C/C++ :
C/C++选项卡中的设置比较重要,如图 所示,选项卡中主要有两个地方需要注意,首先是整个工程的宏定义,在前面标准外设库部分已经有过介绍,标准外设库中很多功能都是通过宏定义来实现的,由于标准外设库针对STM32一系列芯片,因此需要通过宏定义来进行针对性的选择。这种选择有两种方式,有的人是直接改动宏定义部分的库文件,缺点是需要更改一些功能时不是很方便,而且笔者建议在尽量不更改库文件的方式下实现功能的配置和使用,另一种方式就是在工程的设置中添加宏定义,这儿添加了两个宏定义, USE_STDPERIPH_DRIVER表示使用标准外设库进行程序开发, STM32F10X_MD表示使用的是STM32F10X系列中等容量器件,本例中中使用的是STM32F103C8T6故填写此项。接下来一个重要的设置就是设置工程所包含的头文件目录,点击Include Paths一栏右侧图标,弹出如上所示的对话框。点击对话框右上角图标,添加工程所包括的头文件路径,添加头文件路径的时候要把当前工程目录中包含头文件的路径都添加进去。
此时编译报错,main.c中包含了stm32_eval.h我们没有添加到工程中。将外设库中Utilities目录下STM32_EVAL目录拷贝至User目录,添加至include目录,重新编译仍报错:
由于没有选择EVAL的类型,在C/C++选项中添加宏USE_STM3210C_EVAL,再编译,顺利通过:
上面的例程只是一个工程流程,算是学习一下工程创建和编译的步骤。
有奖活动 | |
---|---|
【有奖活动——B站互动赢积分】活动开启啦! | |
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |