打印
[STM32F1]

STM32F107VC金龙开发板 第一章 LED灯实验

[复制链接]
757|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 szopenmcu 于 2015-4-7 16:49 编辑

第一章 金龙107——LED实验
1.1 GPIO简介:
GPIOGeneral Purpose I/O Ports)意思为通用输入/输出端口,通俗地说,就是一些引脚,可以通过它们输出高低电平或者通过它们读入引脚的状态-是高电平或是低电平。GPIO口一是个比较重要的概念,用户可以通过GPIO口和硬件进行数据交互(UART),控制硬件工作(LED、蜂鸣器等),读取硬件的工作状态信号(如中断信号)等。因此,GPIO口的使用非常广泛。
1.2 实验说明:
在本实验中,主要使用到开发板上的LED灯,实现跑马灯,
主要跳线帽:JP4JP7都接在2-3
1.3 硬件描述:
file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ksohtml\wps35B.tmp.jpg
想要控制 LED 灯,当然是通过控制 STM32 芯片的 I/O 引脚电平的高低来实现。在 STM32 芯片上,I/O 引脚可以被软件设置成各种不同的功能,如输入或输出,所以被称为 GPIO (General-purpose I/O)。而 GPIO 引脚又被分为GPIOAGPIOB„„GPIOG 不同的组,每组端口分为 0~15,共 16 个不同的引脚,对于不同型号的芯片,端口的组和引脚的数量不同,在金龙107 (stm32f107vc)上面有(A„„E)5组,80IO
1.4程序说明:
首先说明一点,STM32的启动过程,并不是从main开始的,而是从启动文件里面开始,然后又跳转到main(详细说明可以参见STM32启动文件说明),并且在启动文件中,跳转到main之前,已经调用了SystemInit();,实现对STM32的时钟配置。
然后从main函数开始说明,
第一步SystemInit();这个函数官方已经写好,其主要配置了STM32的时钟,该函数,在启动文件中已经被调用了(详见STM32启动文件的说明),所以这里可以去掉。

file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ksohtml\wps35C.tmp.jpg
接下来是对LED的初始化,其中该函数在hw_config.h中,首先是对端口的初始化,对端口的初始化,要注意的是首先要声明定义结构体,然后开启对应端口的时钟,然后对端口的结构体进行配置(配置说明详见固件库说明)。
file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ksohtml\wps35D.tmp.jpg
下面就是对四个LED灯的初始化,在本例程中我们采用了宏定义,如下图,详见hw_config.h
file:///C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ksohtml\wps35E.tmp.jpg
while循环中,实现LED灯的循环亮灭。
1.5实验现象:
LED循环点亮


沙发
mmuuss586| | 2015-4-7 18:09 | 只看该作者

F1的资料已经很多了

使用特权

评论回复
板凳
周董| | 2015-4-7 19:42 | 只看该作者
看看~~

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:专业生产销售STM32开发板,仿真器,http://openmcu.taobao.com/

71

主题

283

帖子

11

粉丝