STM32f103C8T6入门学习记录

STM32 自 学 笔 记

作者:忙碌的小姚

新浪微博:@忙碌的小姚

新浪博客:

/mlxiaoyao222 目录

STM32 自 学 笔 记1

第一章3

我与STM32 的那些日子3

第二章4

使用固件库建立一个工程4

1、了解STM32F103的固件库4

2、创建第一个工程4

3、接下来就是管理工程文件了9

4、编写main.c 和文件路径10

第三章14

STM32点亮第一个LED 使用keil for ARM MDK 软件仿真14

1、Main.c 函数代码:14

2、代码分析:15

3、软件仿真介绍:16

第四章19

串口的使用19

1、为什么要用串口?19

2、STM32跟PC机(也就是电脑)如何连接19

3、代码分析20

4、仿真及调试23

5、串口接收数据25

第五章27

通用定时器的使用27

1、STM32F103内部定时器有哪些?27

2、如何进行程序编写27

3仿真结果观察30

4对第四章串口的补充31

5工程代码35

第一章

我与STM32 的那些日子

STM32这块板子是在阿莫上跟一个老师买的,砍了半天100块钱。包括一个Jlink v8仿真器(好像65块左右),和一块STM32系统板。那已是一年前的事了。

那时我刚大三,刚学了半年51,于是想学点更高级的。但我好像属于三分钟热度的这种人,买回来学了一个星期,就学不动了,寄存器操作,固件库的使用根本就没明白是怎么一回事,之后就没有然后了。

现在看到那块板子,总有一种说不出的滋味,要是当时能咬牙切齿努力学习,说不定现在也不会安静地坐在电脑前一字一句敲打这篇激励性文章了。对于STM32我没用任何基础,唯一有的也只是一年前学的那一个星期,不过那已不重要了,我现在仍是一个小白。作为一个初学者,也许是坐井观天,看的是片面的,可能有很多观点是错误的,希望读者朋友能勇于指出来。

-----前记

第二章

使用固件库建立一个工程

我打算先从软件编程学起,以前用过KEIL 和IAR,IAR我比较熟悉,因为参加电子设计竞赛的时候,就是用它编程MSP430程序的。但我还是选择了KEIL,也许因为资料比较多,或者别的吧,我没分析过KEIL 和IAR代码效率如何,因为这不是我现在要考虑的,软件都只是工具而已。

我去百度搜索了几篇如何在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文件), 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.h , stm32f10x_it.c ,

stm32f10x_it.h , system_st

stm32f103c8t6c语言教程,STM32f103C8T6入门学习记录.doc相关推荐

  1. MOOSE多物理场耦合平台入门学习记录一(稳态热传导程序实例)

    MOOSE多物理场耦合平台入门学习记录 MOOSE的简介 MOOSE的安装 Linux和Mac Windows MOOSE程序的一般开发流程-以导热微分方程为例 简单问题的有限元处理 MOOSE程序的 ...

  2. jmeter入门学习记录

    jmeter入门学习记录 Jmeter 介绍 下载和运行 发送简单请求测试 第一步:建立Thread Group 第二步:新建一个 HTTP Request 第三步:添加HTTP Head Manag ...

  3. SSM框架入门学习记录

    SSM框架入门学习记录 //项目结构 在这里插入图片描述 在这里插入图片描述 包名多种多样,命名习惯问题. 流程:Controller(接受请求)-->Service(biz)(bl)(写业务函 ...

  4. R语言基础知识入门学习(一)

    目录 系列文章目录 一.软件下载 二.基本知识 1. 对象 2. 向量 3. 向量化 4. 因子 总结 系列文章目录 R语言基础知识入门学习(一) 一.软件下载 我们可以通过这个网址对R语言软件进行下 ...

  5. python入门语言教程_Python入门教程(1)

    人生苦短,我用Python! Python(英语发音:/ˈpaɪθən/), 是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于19 ...

  6. 黑马程序员 C++ 基础语法入门 学习记录

    基础语法入门 文章目录 一.初识C++ 1.1 新建项目 1.2 编写项目 1.3 运行程序 1.4 注释 1.5 变量 1.6 常量 1.7 关键字 1.8 标识符命名规则 二.数据类型 2.1 整 ...

  7. while保留五位小数c语言,C语言教程(共同学习)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 C语言教程第三章: C语言程序设计初步 C语言程序设计 本课介绍C语言程序设计的基本方法和基本的程序语句. 从程序流程的角度来看,程序可以分为三种基本结构 ...

  8. oracle安装搜狗输入法教程,Linux入门学习教程:在Ubuntu 14.04中安装使用搜狗拼音输入法...

    然后,访问搜狗输入法Linux版的官网,http://pinyin.sogou.com/linux,下载搜狗输入法Linux版.从官网可以看到,该输入法官方只支持Ubuntu(不过网上有人通过将deb ...

  9. Kaggle教程 机器学习入门学习笔记

    机器学习入门学习笔记 [跳转]<Kaggle教程 机器学习入门>系列课程目录 >> 决策树 简介:是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零 ...

最新文章

  1. React router 的 Route 中 component 和 render 属性理解
  2. IT编辑推荐:广通Broadview IT运维管理平台
  3. LintCode: Binary Tree Inorder Traversal
  4. Android之用AccessibilityService实现红包插件
  5. P3195-[HNOI2008]玩具装箱【斜率优化dp】
  6. vbs读取服务器上的txt文件,VBS读写txt文件常用方法
  7. Java I/O学习——File
  8. TV Battle --HOJ 11915
  9. redis sds的申请扩容源码
  10. 如何在 Linux 上重命名一组文件
  11. boost库的lock_ops类的变化
  12. ssm 酒店管理系统
  13. java中wint是什么意思,Java线程的同步演示代码,java线程演示,package Wint
  14. 国内外游戏运营模式区别
  15. [AutoVue开发手册]第二篇——AutoVue之Applet参数列表
  16. bert-textcnn实现多标签文本分类(基于keras+keras-bert构建)
  17. javascript函数总结
  18. 贪心算法-大整数乘法/加法/减法
  19. 在DCOM配置中找到Microsoft Office Word 97 - 2003 文档
  20. ChatGPT检测器(Detector)

热门文章

  1. matlab中变压器电感基值公式,基于MATLAB的变压器短路阻抗计算.pdf
  2. 父母不会用手机 App?中老年群体的app应用产品
  3. Copy all parts of an object.
  4. presto函数大全 中文版
  5. java毕业设计——基于java+JSP+sqlserver的Smart系统-题库及试卷管理模块设计与实现(毕业论文+程序源码)——学生信息管理系统模板2
  6. 分辨真假NIKE的高招
  7. sunday算法特征码_C++ sunday算法 极速定位指定进程内存特征码!
  8. 酷比魔方i7手写板,Ubuntu 18.04,RTL8723BU wifi驱动安装
  9. windows server 12 r2安装Hyper-V
  10. mapreuce1.0局限性