logo资料库

stm32 野火资料.pdf

第1页 / 共131页
第2页 / 共131页
第3页 / 共131页
第4页 / 共131页
第5页 / 共131页
第6页 / 共131页
第7页 / 共131页
第8页 / 共131页
资料共131页,剩余部分请下载后查看
0、友情提示
1、如何编译和下载程序
1.1编译程序
1.2下载程序
1.2.1 JLINK下载
1.2.2 串口下载
1.2.3 串口下载与JLINK下载对比
2、JLINK驱动安装与MDK环境搭建
2.1 JLINK驱动安装
2.2 MDK环境搭建
2.3 和谐MDK
3、如何新建工程模板
3.1 获取ST库源码
3.2开始新建工程
3.3 硬件调试配置
4、初识STM32库
4.1 STM32神器之库开发
4.1.1什么是STM32库?
4.1.2为什么采用库来开发?
4.2 STM32结构及库层次关系
4.2.1 CMSIS标准
4.2.2 库目录、文件简介
4.2.2.1 core_cm3.c文件
4.2.2.2 system_stm32f10x.c文件
4.2.2.3 stm32f10x.h文件
4.2.2.4 启动文件
4.2.2.5 STM32F10x_StdPeriph_Driver文件夹
4.2.2.6 stm32f10x_it.c、 stm32f10x_conf.h文件
4.2.3 库各文件间的关系
4.2.4 使用库帮助文档
4.2.4.1常用官方资料
4.4.2.2 初识库函数
5、流水灯的前后今生
5.1 STM32的GPIO
5.2 STM32的地址映射
温故而知新——stm32f10x.h文件
外设基地址
总线基地址
寄存器组基地址
5.3 STM32库对寄存器的封装
5.4 STM32的时钟系统
5.4.1时钟树&时钟源
5.4.2高速外部时钟(HSE)
5.4.3 HCLK、FCLK、PCLK1、PCLK2
5.5 LED具体代码分析
5.5.1实验描述及工程文件清单
5.5.2配置工程环境
5.5.3编写用户文件
5.5.4初始化结构体——GPIO_InitTypeDef类型
5.5.5 初始化库函数——GPIO_Init()
5.5.6开启外设时钟
5.5.6.1启动文件及SystemInit()函数分析
5.5.6.2开启外设时钟
5.5.7控制I/O输出高、低电平
5.5.8 led.h文件
5.5.9 main文件
5.5.10 实验现象
5.6 GPIO_Init()函数的实现
5.6.1规范的位操作方法
5.6.2 GPIO_Init()实现代码分析
5.6.3 再论开发方式
6、Sysstick(系统滴答定时器)
6.1 SysTick——操作系统的心跳
6.2 SysTick timer工作分析
6.3 SysTick精确延时实例精讲
6.3.1实验描述及工程文件清单
6.3.2配置工程环境
6.3.3 main文件
6.3.4配置并启动SysTick timer
检查输入参数
位指示宏及位屏蔽宏
配置中断向量及重置STK_VAL寄存器
配置SysTick timer时钟为AHB
使能、关闭定时器
6.3.5定时时间的计算
6.3.6编写中断朊务函数
6.3.7使用SysTick的测量时间的功能
6.3.8实验现象
7、KEY(Polling)
7.1 GPIO的8种工作模式
7.1.1四种输入模式
7.1.2四种输出模式
7.2 按键实验分析
按键代码分析
7.3.1实验描述及工程文件清单
7.3.2配置工程环境
7.3.3 main文件
7.3.4 GPIO初始化配置
7.3.5利用库的数据类型
7.3.6 实现LED反转
7.3.7实验现象
8、EXTI之按键中断实验
8.1 STM32的中断和异常
8.2 NVIC中断控制器
8.2.1 NVIC结构体成员
8.2.2 抢占优先级和响应优先级
8.2.3 NVIC的优先级组
8.3 EXTI外部中断
8.4 中断检测按键实验分析
8.4.1实验描述及工程文件清单
8.4.2 配置工程环境
8.4.5 main文件
8.4.6 配置外部中断
8.4.7 AFIO时钟
8.4.8 NVIC初始化配置
8.4.9 EXTI初始化配置
8.4.10 编写中断朊务函数
8.4.11实验现象
0、友情提示 《零死角玩转 STM32》系列教程由初级篇、中级篇、高级篇、系统篇、 四个部分组成,根据野火 STM32 开发板旧版教程升级而来,且经过重新深入编 写,重新排版,更适合初学者,步步为营,从入门到精通,从裸奔到系统,让 您零死角玩转 STM32。M3 的世界,于野火同行,乐意惬无边。 另外,野火团队历时一年精心打造的《STM32 库开发实战指南》将于今 年 10 月份由机械工业出版社出版,该书的排版更适于纸质书本阅读以及更有利 于查阅资料。内容上会给你带来更多的惊喜。是一本学习 STM32 必备的工具 书。敬请期待! 野火淘宝店:http://firestm32.taobao.com (点我) -第 2 页- 有疑问就到:www.amobbs.com/forum-1008-1.html (点我)
1、如何编译和下载程序 在拿到开发板之后,很多朋友都想先尝尝鲜,想自己烧写个程序到开发板 上,看看效果。下面将演示如何将光盘里面自带的程序烧写到野火 STM32 开发 板上。前提是你的电脑上已经安装了 JLINK 驱动和 MDK 开发环境,如果这一部没 有完成,请参考《2、JLINK 驱动安装与 MDK 环境搭建》。野火 STM32 开发板光 盘上提供的代码都是已经编译好的,直接下载即可。 1.1 编译程序 首先打开一个 MDK 工程,在野火 STM32 开发板光盘目录下:2-程序+教程\ 第一部分-库开发初级篇\5-野火M3-流水灯\USER,点击 STM32- DEMO.uvproj,打开流水灯这个工程。在弹出的 MDK 界面中,我们可以看到左边 的工具栏中有三个按钮,现在我们从左往右来介绍下这三个按钮的功能。  第一个按钮:Translate 就是翻译当下修改过的文件,说明白点就是检查 下有没有语法错误,并不会去链接库文件,也不会生成可执行文件。  第二个按钮:Build 就是编译当下修改过的文件,它包含了语法检查,链 接动态库文件,生成可执行文件。 野火淘宝店:http://firestm32.taobao.com (点我) -第 3 页- 有疑问就到:www.amobbs.com/forum-1008-1.html (点我)
 第三个按钮:Rebuild 重新编译整个工程,跟 Build 这个按钮实现的功能 是一样的,但有所不同的是它编译的是整个工程的所有文件,耗时巨 大。 综上:当我们编辑好我们的程序之后,只需要用第二个 Build 按钮就可以, 即方便又省时。第一个跟第三个按钮用的比较少。 1.2 下载程序 野火 STM32 开发板有两种下载方式,JLINKV8 下载和串口下载。要注意的 是:1、JLINK 下载的时候,开发板中的拨动开关 BOOT0(在开发板边缘,靠近网 口)即可以拨到 VCC 也可拨到 GND,但在 JLINK 下载完程序后,必须将 BOOT0 拨到 GND,好让程序从内部的存储器开始运行程序,所以在 JLINK 下载时最保险的方法 就是将 BOOT0 拨到 GND 那端。2、在用串口下载程序的时候,必须将 BOOT0 开发拨 到 VCC,在程序下载完后,然后将 BOOT0 开关拨到 GND。 1.2.1 JLINK 下载  插上 DC-5V 电源给开发板供电,再插上 JLINK。  点击 MDK 工具栏中的 Load 按钮就可将编译好的程序下载到开发板中。  下载成功之后,程序就会自动运行。如果发现程序没有运行,则可按下开 发板中的复位按键。 野火淘宝店:http://firestm32.taobao.com (点我) -第 4 页- 有疑问就到:www.amobbs.com/forum-1008-1.html (点我)
这里要注意的是:程序在烧写到开发板后是否自动运行,是可以在 MDK 开发 环境:Target Options…->Debug->Setting->Falash DownLoad 中设置的: 如果没有设置为自动运行的话,我们需要在程序下载完毕之后进行手动复 位,手动复位可以是按键复位和上电复位。 还有一点要注意的是:在程序下载到开发板之后,开发板要供电,JLINK 一 端连开发板,另一端连 PC,这样程序才能运行。有些用户在下载程序之后,第 二次用的时候只是给开发板供电,JLNK 的一端只连了开发板而没有连 PC,这样 野火淘宝店:http://firestm32.taobao.com (点我) -第 5 页- 有疑问就到:www.amobbs.com/forum-1008-1.html (点我)
程序是不能工作的。要想只在供电的情况下要程序运行,只需把 JLNK 从开发板 中拔掉即可,即只连电源,不接 JLINK 即可。 1.2.2 串口下载  插上 DC-5V 电源给开发板供电,插上 JLINK,插上自带的串口线(注意是两头 都是母的交叉串口线)。  将 BOOT0 开关拨到 VCC。 在这里我们用的串口下载软件是 mcuisp,这个一个绿色的软件,可从网上 自由下载,野火 M3 光盘目录下:3-安装软件\3-串口下载软件找到。  点击 mcuisp.exe,打开 mcuisp,mcuisp 是很智能的,只要开发板上电且连接 好了串口,它就会自动搜索串口,野火 STM32 开发板用的是电脑主板 后面的串口,这个串口都会被默认为是串口 1。假如你是笔记本用户, 用的是 USB 转串口,那么端口号可能就不是 COM1,需要到我的电脑\管理\设 备管理器\端口中查找,然后再修改。  设置波特率为 115200,选择要下载的程序。在开发板自带的例程中,可执 行文件(hex 文件)都在工程目录下的 Output 这个文件下。 野火淘宝店:http://firestm32.taobao.com (点我) -第 6 页- 有疑问就到:www.amobbs.com/forum-1008-1.html (点我)
野火淘宝店:http://firestm32.taobao.com (点我) -第 7 页- 有疑问就到:www.amobbs.com/forum-1008-1.html (点我)
 然后点击 开始编程 按钮,如果程序下载成功后则会打印出下面红色框中的 信息。  程序下载成功之后,可是在开发板上看不到实验现象呀,怎么办?是不是 出什么问题了呀?这是因为我们是通过串口将我们的程序烧写到 flash 里面 去了,而我们想要从 flash 里面执行我们的程序的话,则需要将 BOOT0 开关拨 到 GND,然后按下我们的复位按键就可以看到实验想象了。 野火淘宝店:http://firestm32.taobao.com (点我) -第 8 页- 有疑问就到:www.amobbs.com/forum-1008-1.html (点我)
分享到:
收藏