STM32f103C8T6入门学习记录知识讲解

上传人:go****e 文档编号:137416227 上传时间:2020-07-08 格式:DOC 页数:40 大小:1.08MB
返回 下载 相关 举报
STM32f103C8T6入门学习记录知识讲解_第1页
第1页 / 共40页
STM32f103C8T6入门学习记录知识讲解_第2页
第2页 / 共40页
STM32f103C8T6入门学习记录知识讲解_第3页
第3页 / 共40页
STM32f103C8T6入门学习记录知识讲解_第4页
第4页 / 共40页
STM32f103C8T6入门学习记录知识讲解_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《STM32f103C8T6入门学习记录知识讲解》由会员分享,可在线阅读,更多相关《STM32f103C8T6入门学习记录知识讲解(40页珍藏版)》请在金锄头文库上搜索。

1、STM32f103C8T6入门学习记录精品文档STM32 自 学 笔 记 作者:忙碌的小姚 新浪微博:忙碌的小姚 新浪博客: http:/ 目录STM32 自 学 笔 记1第一章3我与STM32 的那些日子3第二章4使用固件库建立一个工程41、了解STM32F103的固件库42、创建第一个工程43、接下来就是管理工程文件了94、编写main.c 和文件路径10第三章14STM32点亮第一个LED 使用keil for ARM MDK 软件仿真141、Main.c 函数代码:142、代码分析:153、软件仿真介绍:16第四章19串口的使用191、为什么要用串口?192、STM32跟PC机(也就是

2、电脑)如何连接193、代码分析204、仿真及调试235、串口接收数据25第五章27通用定时器的使用271、STM32F103内部定时器有哪些?272、如何进行程序编写273仿真结果观察304对第四章串口的补充315工程代码35第一章 我与STM32 的那些日子 STM32这块板子是在阿莫上跟一个老师买的,砍了半天100块钱。包括一个Jlink v8仿真器(好像65块左右),和一块STM32系统板。那已是一年前的事了。那时我刚大三,刚学了半年51,于是想学点更高级的。但我好像属于三分钟热度的这种人,买回来学了一个星期,就学不动了,寄存器操作,固件库的使用根本就没明白是怎么一回事,之后就没有然后了

3、。现在看到那块板子,总有一种说不出的滋味,要是当时能咬牙切齿努力学习,说不定现在也不会安静地坐在电脑前一字一句敲打这篇激励性文章了。对于STM32我没用任何基础,唯一有的也只是一年前学的那一个星期,不过那已不重要了,我现在仍是一个小白。作为一个初学者,也许是坐井观天,看的是片面的,可能有很多观点是错误的,希望读者朋友能勇于指出来。 -前记第二章使用固件库建立一个工程我打算先从软件编程学起,以前用过KEIL 和IAR,IAR我比较熟悉,因为参加电子设计竞赛的时候,就是用它编程MSP430程序的。但我还是选择了KEIL,也许因为资料比较多,或者别的吧,我没分析过KEIL 和IAR代码效率如何,因为

4、这不是我现在要考虑的,软件都只是工具而已。我去百度搜索了几篇如何在KEIL MDK环境下建立STM32工程,加上自己的实践。我也把我的初学者步骤贴出来。1、了解STM32F103的固件库我在网上下了STM32F103的固件库-stm32f10x_stdperiph_lib 3.5V版的,里面内容如图所示,据说STM32F103和STM32F101都能用。2、创建第一个工程 1.新建一个文件夹取名如 first_project,也可以建在桌面。 2.在里面新建 CMSIS ,libraries ,Libaries , List(用于链接的) , Obj(工程文件) , output (输出hex

5、文件), User 文件夹; 3. 将固件库里 Libraries-STM32F10x_StdPeriph_Driver 下的 inc 和src 文件夹复 制到fisrt_project 文件夹下的libraries 里; 将固件库里 Libraries-CMSIS-CM3-CoreSupport文件夹里面的 core_cm3.c 和core_cm3.h 文件复制到我们新建的fisrt_project 文件夹下的CMSIS 里; 将固件库里 Project-STM32F10x_StdPeriph_Template(这个文件家里有KEIL和 IAR建好工程的模板)里的stm32f10x_conf

6、.h , stm32f10x_it.c , stm32f10x_it.h , system_stm32f10x.c 四个文件 复制到我们新建的fisrt_project 文件夹下的User 里; 如下图所示 打开keil uvision4 MDK , 在菜单栏里点击project 选择 new uVision project 保存工程名,选择Obj文件夹, 文件名为first_project ,不用加后缀格式,系统默认。接下来会弹出让你选择器件的窗口,这里我们选择 STmicroelectronics 的 STM32F103C8最后会弹出是否复制启动代码的对话框,选择YES;3、接下来就是管理

7、工程文件了 1、在project窗口右键点击Tagert 1 选择 manage conponents 或者 找到倒数第二个 品字形图标; 2、在Groups 框下面将Groups1 重命名为startup ,同时添加CMSIS, Libraries, User; 选择CMSIS 在Files框下将CMSIS文件夹的core_cm3.c添加进去; 选择Libraries在Files框下将Libraries-src文件下的所以文件都加进去添加进去; 选择User在Files框下将User文件下的所以文件都加进去添加进去; 如下图所示: 点击OK,确定;工程构架如下图所示:4、编写main.c 和

8、文件路径 1、新建main.c 保存到User文件夹里,将其添加到User工程名下。 #include stm32f10x.h int main(void) while(1); 2、在project框下,右键点击Target 1,选择Options for Target target1 在output 选项下,在create HEX file 前打上钩, 点击select Folder for Objects 选择输出文 件夹为 output文件夹; 在Listing选项下,点击select Folder for Listings 选择链接文 件夹为 List文件夹;在C/C+选项下, def

9、ine里 填入 USE_STDPERIPH_DRIVER,STM32F10X_MD 中间用英 文的逗号;(一定要记得) Include Paths 里,点击右边的文件路径框 ,选择相应的CMSIS, libraries 里的INC 和SRC 还有 User ; 也可以填绝对路径,比如: C:UsersAdministratorDesktopSTM32编程练习 fisrt_projectCMSIS 这样比较麻烦 好了,这下开始编译链接:0 Error , 0 Warring;First_project 就建好了;万里长征的第一步,总算走出去了。总结:关键是Option for target 的设

10、置,包括output ,listing,和C/C+,尤其是C/C+这个选项里一定要设置对。Define:USE_STDPERIPH_DRIVER,STM32F10X_MD,这是预定义的两个宏定义。 在stm32f10x.h这个头文件里搜索 USE_STDPERIPH_DRIVER 有这么一段 #ifdef USE_STDPERIPH_DRIVER #include stm32f10x_conf.h #endif 据说是定义控制了是否在应用中启用外设驱动。在stm32f10x.h这个头文件里搜索 STM32F10X_MD, /* #define STM32F10X_MD */ /*! STM32

11、F10X_MD: STM32 Medium density devices */ STM32中密度器件#ifdef STM32F10X_MDADC1_2_IRQn = 18, /*! ADC1 and ADC2 global Interrupt */ USB_HP_CAN1_TX_IRQn = 19, /*! USB Device High Priority or CAN1 TX Interrupts */USB_LP_CAN1_RX0_IRQn = 20, /*! USB Device Low Priority or CAN1 RX0 Interrupts */CAN1_RX1_IRQn = 21, /*! CAN1 RX1 Interrupt */CAN1_SCE_IRQn = 22, /*! CAN1 SCE Interrupt */EXTI9_5_IRQn = 23, /*! External Line9:5 Interrupts */ : : : #endif /* STM32F10X_MD */ 可能是定义中断向量的值吧 就写到这里,才发现自己做也许一个两个小时就能建好工程,但是要把写出来我却用了一个下午。为了大家跟我都尽快学会STM32,我会努力学习将成果与大家分享; 2013年12月25日

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 其它小学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号