2、GPIO配置

1、AD引脚只能接3.3V,除了AD的引脚,其余都可以接5.5V

 

2、输入模式:  

  (1)输入浮空模式,无上拉电阻   

  (2)输入上拉模式,有上拉电阻   

  (3)输入下拉模式,有下拉电阻   

  (4)模拟输入模式,模拟输入

 

3、输出模式:

  (1)开漏输出模式,上拉电阻,返回1,下拉电阻,返回0;  

  (2)开漏复用输出模式   

  (3)推挽输出模式,输入1则输出1,输入0则输出0   

  (4)推挽复用输出模式

 

4、GPIO寄存器配置   

   (1)两个32位配置寄存器(GPIOx_CRL ,GPIOx_CRH)   

   (2) 两个32位数据寄存器 (GPIOx_IDR和GPIOx_ODR)   

   (3) 一个32位置位/ 复位寄存器(GPIOx_BSRR)   

   (4) 一个16位复位寄存器(GPIOx_BRR)   

   (5) 一个32位锁定寄存器(GPIOx_LCKR)

 

5、端口配置低寄存器GPIOx_CRL

 

6、端口配置低寄存器GPIOx_CRH

 

7、端口输入数据寄存器GPIOx_IDR

 

8、端口输出数据寄存器GPIOx_ODR

 

9、GPIO时钟设置函数RCC_APB2PeriphClockCmd

 

10、GPIO初始化函数GPIO_Init

 

11、端口设置函数:GPIO_SetBits

 

12、端口复位函数:GPIO_ResetBits

 

13、GPIO点亮LED程序:   

 1 /*main.c*/
 2 
 3 #include"pbdata.h"//调用自定义公共函数库
 4 
 5 void RCC_Configuration(void);//系统时钟初始化函数声明
 6 void GPIO_Configuration(void);//GPIO初始化函数声明
 7 
 8 int main(void)//void不能void定义主函数
 9 {
10     RCC_Configuration();    //系统时钟初始化
11     GPIO_Configuration();//端口初始化
12 
13 /*进入GPIO处理*/
14   while(1)
15   {
16     GPIO_SetBits(GPIOB,GPIO_Pin_5);//指定端口设置为高电平
17     
18     delay(6000000);//0.5ms,delay,公共函数库中自己定义
19  
20     GPIO_ResetBits(GPIOB,GPIO_Pin_5);//指定端口设置低电平
21 
22     delay(6000000);//0.5ms,delay,公共函数库中自己定义
23   }
24 }
25     
26     
27     void RCC_Configuration(void)//系统时钟高初始化函数
28   {
29         
30     SystemInit();//系统初始化
31     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//对应GPIO时钟使能
32     }
33     
34     
35     void GPIO_Configuration(void)//GPIO初始化函数
36   {
37     GPIO_InitTypeDef GPIO_InitStructure;//定义一个GPIO设置的结构体变量 
38 
39         /*结构体变量赋值*/
40       GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;////引脚配置
41       GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//配置频率
42       GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//推挽输出
43         
44          /*对应的GPIO初始化*/
45       GPIO_Init(GPIOB,&GPIO_InitStructure);
46   }
47     
48 
49     
View Code
 1 /*pbdata.c*/
 2 
 3 #include"pbdata.h"
 4 
 5 
 6 u8 dt=0;
 7 
 8 void delay(u32 nCount)
 9 {
10   for(;nCount!=0;nCount--);
11 }
View Code
 1 /*pbdata.h*/
 2 
 3 #ifndef _pbdata_H
 4 #define _pbdata_H
 5 
 6 #include"stm32f10x.h"
 7 
 8 /*自定义全局变量*/
 9 extern u8 dt;
10 
11 /*自定义函数*/
12 void delay(u32 nCount);
13 
14 #endif
View Code

 


14、工程下载地址:

http://download.csdn.net/detail/a1181803348/8737647

 

posted @ 2015-05-24 22:32  如风轻逸  阅读(552)  评论(0编辑  收藏  举报