没有合适的资源?快使用搜索试试~ 我知道了~
基于STM32F103单片机开发介绍.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 130 浏览量
2023-02-22
21:40:48
上传
评论
收藏 1.97MB PDF 举报
温馨提示
.基于STM32F103单片机开发介绍.pdf
资源推荐
资源详情
资源评论






























目录
一、
二、
三、
四、
五、
六、
七、
八、
基于 STM32F103 单片机开发介绍
IDE 安装(MDK) ................................................................................................... 2
CMSIS 架构简介 ................................................................................................ 3
标准外设库的外设库结构 ................................................................................ 8
Startup 文件的选择及文件拷贝 ..................................................................... 10
创建工程 .......................................................................................................... 14
配置工程 .......................................................................................................... 24
下载及调试 ...................................................................................................... 32
SourceInght 添加技巧...................................................................................... 33

一、 IDE 安装(MDK)
STM32 使用的开发环境是 MDK,目前我们使用的版本是 MDK5.10。
安装步骤请参考《MDK5.10 安装手册.pdf》。

二、 CMSIS 架构简介
安装完 ARM.CMSIS.3.20.4.pack 和 Keil.STM32F1xx_DFP.1.0.5.pack 后,
会在 Keil 的安装路径下生成对应的文件夹:
Keil_v5\ARM\Pack\ARM\CMSIS\3.20.4
Keil_v5\ARM\Pack\Keil\STM32F0xx_DFP\1.0.3
Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\1.0.5
PACK 下的文件,将在我们开发和编译时都需要用上。
1. CMSIS
ARM Cortex™ 微 控 制 器 软 件 接 口 标 准 (CMSIS : Cortex
Microcontroller Software Interface Standard) 是 Cortex-M 处理器系列
的与供应商无关的硬件抽象层。

2. Core_cm3.h
1、内对Lint进行了配置。
2、最重要的是调用了“stdint.h”文件,该文件由编译环境提供,
对8位、16位、32位等整数类型的定义及其范围进行了规范,还定义
了大数输出如:UINT_LEAST8_MAX。主要用来屏蔽不同编译器之前的
差异。这种扩展整数类型的定义非常清晰,从类型名字上就可以看出
它的长度,这有利于编写可移植的代码。
3、指示寄存器的访问权限。CMSIS定义以下3种标识符来指定访问
权限:_I(volatileconst)、_O(volatile)和_IO(volatile)。其中_I用来指
定只读权限,_O 指定只写权限,_IO 指定读写权限。
4、对CM3核内的寄存器进行了定义。
定义了NVIC类型结构体NVIC_Type、SCB结构体SCB_Type、SysTick
类型结构体SysTick_Type、ITM类型结构体ITM_Type、MPU类型结构体
MPU_Type、InterruptType类型结构体InterruptType_Type、CoreDebug
类型结构体CoreDebug_Type。定义了各种寄存器。
5、对 CM3 硬件内存地址进行了映射。
6、对硬件抽象层的寄存器进行了定义,包括Cortex_M3核的全局
变量声明和定义,并定义一些静态功能函数。。用于C语言文件内调用
汇编语句如:__NOP、__ISB()、__DSB()等。其原型在core_m3.c文件内。
此文件在:
Keil_v5\ARM\Pack\ARM\CMSIS\3.20.4\CMSIS\Include\core_cm3.h

3. stm32f10x.h
属于CMSIS的DPAL,包括了STM32F10x系列处理器所有的外设寄存
器定义、位定义和不同容量STM32F10x的内存映射。
1、可以通过该文件配置如下内容:目标芯片、是否使用库文件、
个别特殊的参数,如HSE的频率等。
2、定义了数据类型、结构体和所有外设的内存映射
3、访问外设寄存器达到宏
4、中断异常的定义
CMSIS对异常和中断标识符、中断处理函数名以及中断向量异常号
都有严格的要求。异常和中断标识符需加后缀_IRQn,系统异常向量
号必须为负值,而设备的中断向量号是从0开始递增。
CMSIS对系统异常处理函数以及普通的中断处理函数名的定义也
有所不同。系统异常处理函数名需加后缀_Handler,而普通中断处理
函数名则加后缀_IRQHandler。这些异常中断处理函数被定义为weak
属性,以便在其他的文件中重新实现时不出现重复定义的错误。这些
处理函数的地址用来填充中断异常向量表,并在启动代码中给以声明,
例如:NMI_Handler、
MemManage_Handler、SysTick_Handler、WWDG_IRQHandler等。
这里特别强调三点:
一是如果选择用外设库来编程则必须在编译器的PreProcessor
Symbols的Define中写入“USE_STDPERIPH_DRIVER, STM32F10X_HD”。
这个STM32F10x标准外设库结构分析在很多的教程中都有些过的。请
剩余34页未读,继续阅读
资源评论


我是你的春哥!
- 粉丝: 1w+
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- TA-Lib技术分析库中文应用指南与实战案例解析
- 安卓期末项目 阅读APP.zip
- 自用的安卓开源项目工程模板。阿里云远程仓库加速,发布到maven仓库,代码混淆、资源混淆,持续集成(CI),多渠道多环境
- 5G与AI驱动的6G通信创新与发展
- 集成 GPT、Gemini 等多模型,支持 Midjourney 和 Dall 绘画的对话系统(已开源前端)
- swift各种仿写项目(微博、微信swiftUI、玩安卓)、Moya网络层封装.zip
- 本项目停止更新维护 , cordova 环信ui 安卓插件(ios正在开发;使用无实时语音、实时视频功能的sdk3.0包
- 上市公司专利质量数据-原始+stata代码+结果(1990-2023年)
- 基于Java的铁路售票系统设计与实现——山东大学软件工程课程项目
- 通过安装安卓端的autox.js,执行本项目的脚本,实现自动监测大麦,自动抢演唱会门票.zip
- 安卓课程项目(2).zip
- Java开发在IDEA中通过DEBUG调试查看MyBatis-Plus动态生成SQL语句的方法与技巧
- 基于Qwen25-7B-Instruct的大模型轻量化微调及其在酒店推荐系统中的应用研究
- 玩安卓开源项目.zip
- AI工具在开发实践中的应用:从流程赋能到领域落地.md
- 2024年国家自然科学基金立项名单(经管类)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
