本文共 895 字,大约阅读时间需要 2 分钟。
1
实验一:一个灯的闪烁
一、实验要求
1.
熟悉使用
STM32F103ZET6
开发板
2.
利用
C
语言程序实现一个灯闪烁
二、电路原理图
图
1-1 LED
灯硬件连接图
三、软件分析
1.
本
实
验
用
到
以
下
3
个
库
函
数
(
省
略
了
参
数
)
:
RCC_DeInit()
;
RCC_APB2PeriphClockCmd()
;
GPIO_Init()
;
2.
配置输入的时钟:
SystemInit()
主要对
RCC
寄存器进行配置,
GPIOA
连接
在
APB2
上,因此
RCC_APB2PeriphClockCmd()
函数需要使能
APB2Periph_GPIOA
3.
声明
GPIO
结构:
PF6
~
PF10
口配置为输出
GPIO_InitStructure.GPIO_Pin =
GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10
;
4.
应用
GPIO
口:点亮
LED1
有五种方法
①
ODR
寄存器法:
GPIOA->ODR=0xffbf;
②位设置
/
清除寄存器法:
GPIOA->BRR|=0X001;
③方法③只适用于
GPIOx_BSRR
寄存器
④
GPIO_WriteBit
()函数法:
GPIO_Write(0xffbf);
⑤置位复位库函数法:
GPIO_ResetBits(GPIOF,GPIO_Pin_8);
5.
主函数程序:
int main(void)
{
RCC_Configuration();
/*
配置系统时钟
*/
GPIO_Configuration();
/*
配置
GPIO IO
口初始化
*/
for(;;)
{
GPIOF->ODR = 0xfeff;
/* PF8=0 -->
点亮
D3 */
Delay(600000);
GPIOF->ODR = 0xffff;
/* PF8=1 -->
熄灭
D3 */
Delay(600000);
}
}
四、实验现象
下载程序后开发板上的
LED1
灯闪烁
转载地址:http://qllyo.baihongyu.com/