STM32F103单片机学习笔记(1):用库新建工程和驱动IO口_第1页
STM32F103单片机学习笔记(1):用库新建工程和驱动IO口_第2页
STM32F103单片机学习笔记(1):用库新建工程和驱动IO口_第3页
STM32F103单片机学习笔记(1):用库新建工程和驱动IO口_第4页
STM32F103单片机学习笔记(1):用库新建工程和驱动IO口_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第第页STM32F103单片机学习笔记(1):用库新建工程和驱动IO口

翻看自己以前读书的时候写的博客,发现我还是挺认真的,但是很多东西不用就忘了,以前学习(STM32)都是用对着正点原子或者野火的(视频)学习,但是我发现自己(下载)的库好像并不是以前的那个库,以前各种配置好像很简单,估计野火或者正点原子重新封装了,但是它最底层的库也就是我自己下载的那个库,因为我们要用417,我目前只有103的开发板,我也没有真正动手做过STM32的项目,所以我就自己又从底层开始熟悉一下,这样也不至于到时候项目开始的时候也不至于不知所措。不管怎么样,把它用用起来吧!

这几天,分别驱动了IO、串口、外部中断、(定时器)、(dma)和彩屏,后期我也把自己的总结记录下来,先总结下怎么用库建工程和驱动IO口。

一、用库新建工程

1、打开软件新建工程,project->newproject

2、在工程中分别新建文件夹:

Libraries用来装库函数,把库函数的包复制到这个的文件夹中;

User用来装主函数和与注册中断的函数,main.c和system_stm32f10x.c放在这里面;

Startup用来装启动文件,startup_stm32f10x_hd.s放在里面;

CMSIS用来装系统文件,core_cm3.c放在里面;

3、点击,在工程下分别按照如下添加组和文件

4、点击选择C/(C++),添加头文件目录,我都把他们添加进来

5、接着再选择linkerDebug设置下载方式

这里要注意一下,(单片机)在每次下载程序之后需要点击复位按键才能够运行,这是因为选中J-LINK/J-TR(AC)ECortex之后,点击后面的Set(ti)ng,再选择FlashDownlo(ad)之后没有在ResetandRun前面点那个勾,点了之后就可以下载程序之后程序就可以运行了。

这样整个工程就可以进行下载和写程序了。

二、驱动这一块单片机

1、(时钟)

驱动这个单片机之前,我们都知道单片机的时钟就像人的心脏一样,没有时钟,单片机不能够工作,所以对于拿到这个单片机开始,我们就需要对时钟进行设置。

通过下图可以看出,单片机一共有5个时钟源,HSIRC(内部的高速时钟,由内部的RC振荡电路产生)、HSEOSC(外部的高速时钟,由外部的晶振产生)、LSEOSC(外部的低速时钟,由外部的晶振产生)、LSIRC(内部的低速时钟,由内部的RC振荡电路产生)以及PLL(根据图由HSI时钟或者HSE时钟产生)。在我们驱动这个单片机的时候首先要看看我们单片机的时候,首先要确保外设的时钟就绪。根据下面的图,我们发现绝大部分的外设与系统时钟有关,系统时钟又与HSI或者PLL间接与HSE有关,而,RTC时钟与HSE或者LSE有关,(看门狗)只与LSI有关。

所以在下面大部门的驱动中,必须要的代码。这个与时钟有关的库在stm32f10x_rcc.h里面,根据我们的时钟数,一步一步的就可以将时钟设置好。

2、IO的驱动

设置好系统时钟之后,用什么外设就可以根据时钟树开始设置外设的时钟,同时,通过相应的库将外设进行驱动,IO口驱动的流程图如下:

上面的那幅图只是大体的写了时钟的来源,没有具体描写用到的外设分别用哪个时钟总线控制,在datasheet中的时钟树可以具体看出各种外设用了什么。

很清楚的可以看到IO口由APB2控制,这样通过读IO口的库函数,我们就可以写出驱动IO口初始化函数。

这样初始化就完成了,我们可以根据库中stm32f10x_gpio.c文件对引脚进行操作,具体的应用可以参考库函数使用指南对IO口进行操作。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论