实验程序库函数版1led闪烁_第1页
实验程序库函数版1led闪烁_第2页
实验程序库函数版1led闪烁_第3页
实验程序库函数版1led闪烁_第4页
实验程序库函数版1led闪烁_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1LEDSTM32IO的LED闪烁程序,带大家开启STM32之旅,通过本章的学习,你将了解到STM32的IO口作为输出使用的方法。在本章中通过代码控制普技STM32开发板上的8LED,实现闪烁灯的效果。本章分为以下学习目标:STM32IOSTM32IOSTM32IO口如何输出的,就可以实现闪烁灯了。通过这一章的学习,你将初步掌握STM32IOSTM32的第一步。这一章节因为是第一看到我们的实验工程: ①StdPeriph_Driver下面存放的是ST提供的固件库函数,里面的函数我Startup下面存放的是固件库必须的启动文件。这里面的文件用户不需要修④APP下面存放的是每个实验的外设驱动代码,他的实现是通过调用StdPeriph_Driverled.cstm32f10x_gpio.c里面的函数对led进行初始化,这里面的函数是讲解的重点。后面的实验中可以看到会引入多个源文件。⑤user下面存放的主要是用户代码。stm32f10x_it.c里面存放的是中断服部分了。这里需要说明一下,我们在讲解固件库之前会首先对重要寄存器进行首先要提一下,在固件库中,GPIO端口操作对应的库函数函数以及相关定义在文件stm32f10x_gpio.h和stm32f10x_gpio.c中。STM32的IO口相比51而言要复杂得多,所以使用起来也很多。首先STM32的IO口可以由软件配置成如下8种模式:每个IO口可以自由编程,但IO口寄存器必须要按32位字被STM32IO5VIO5V候很有优势,具体哪些IO口是5V兼容的,可以从该的管脚描述章节查到(I/OLevel标FT的就是5V电平兼容的。个32位的端口配置寄存器CRL和CRH;2个32位的数据寄存器IDR和ODR;132BSRR16BRR1个32位的锁存寄存器LCKR。大家如果想要了解每个寄存器的详细使用方法,STM32V10》P105~P129CRLCRHIOSTM32IOSTM32CRL该寄存器的复位值为0X44444444,从图6.1.4可以看到,复位值其实就是配置端口为浮空输入模式。从上图还可以得出:STM32CRLIO端口(A~G)的低8位的模式。每个IO端口的位占用CRL的4个位,高两CNF,MODE0X0模拟输入模式(ADC0X3(做输出口用,50M、0X8表示上/下拉输入模式(做输用、0XB表示复用输出(使用IO口的50M。CRHCRLCRL8位输出口,而CRH控制的是高8位输出口。这里我们对CRH就不做详细介绍可能有点疑惑,那其他输出模式的时候,是什么时候使用呢?一般来说复用功我们使用的时候回逐渐讲到。而输出模式呢,我们看到还有个开漏输出,我们LED字器件;开漏输出:输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻才行,适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)。所以这里我们选择推挽输出控制LED灯。设置GPIO在3.5的库中,它提供了一个初始化函数,GPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct)这么个函数,通过调用这个函数有找到相应的函数,大家还可以查找《stm32f10x_stdperiph_lib_um.》这个说明,这个是英文版原本函数说明。)GPIO_Init(GPIO_TypeDef*GPIO_InitTypeDef*GPIO_InitStruct)这个函数有两个参数,第一个参数是用来指定要设置GPIO,取值范围为结构体指针,结构体类型为GPIO_InitTypeDef。这个结构体的定义如下:而这些参数的设置,库函数中也帮你定义好了,只要你选择就好了。比如:推例程里面的LED初始化。void {GPIO_InitTypeDefGPIO_InitStructure;//一个结构体变量,用来初始化GPIOSystemInit();//时钟初始化/*GPIOIO*/GPIO_InitStructure.GPIO_Pin=LED;IO //设置推挽输出 /*初始化GPIO*/}个PC口定义为LED,定义了:#defineLEDGPIO_Pin_AllSTM32片机启动的时候,这个外

温馨提示

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

评论

0/150

提交评论