STM32 GPIO应用

      在STM32芯片上,IO引脚可以用软件设置为不同的功能(如输入或输出),要实现这些功能必须配置相应的寄存器,具体概括为:

1:配置寄存器:设定GPIO的特定功能,如最基本输入or 输出。

2:数据寄存器:保存GPIO输入or输出的电平高低。

3:位控制寄存器:设置某引脚的高低电平。

4:锁定寄存器:锁定某引脚的配置。

 

以下基于固件库开发的GPIO程序,点亮CUP板上的LED1、LED2、LED3、LED4。

 

/************************************************************************************
*函数名:GPIO_Config

*描述:通过配置STM32的GPIO,点亮LED1、LED2、LED3、LED4

*输入:NULL
*输出:NULL

*作者:盛鼎测控之工作室
**************************************************************************************/
void GPIO_Config(void)
{    
 /* 定义GPIO初始化结构体对象*/
 GPIO_InitTypeDef GPIO_InitStructure ;

 /* 开启GPIO的外部时钟*/
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);

 /* 配置要用到GPIO引脚*/
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7 |GPIO_Pin_8 |GPIO_Pin_9;

 /* 设置GPIO引脚的模式*/
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

 /* 设置GPIO引脚的速度*/
 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
 /* 初始化GPIOC*/
 GPIO_Init(GPIOC,&GPIO_InitStructure);
 /*开机时所有LED处于熄灭状态*/
 GPIO_ResetBits(GPIOC,GPIO_Pin_6|GPIO_Pin_7 |GPIO_Pin_8 |GPIO_Pin_9); 

}

 

 

/****************************************************************************************************

*函数名:main

*描述:在main函数中通过调用LED函数,点亮或熄灭LED

*输入:NULL

*输出:NULL

*作者:盛鼎测控科技之工作室

*******************************************************************************************************/

int main(void)
{
        GPIO_Config();
 
        while (1){
                             LED1(ON);
                             Delay(0x0FFFEF);
                             LED1(OFF);


                             LED2(ON);
                             Delay(0x0FFFEF);
                             LED2(OFF);


                             LED3(ON);
                             Delay(0x0FFFEF);
                             LED3(OFF);
   

                             LED4(ON);
                             Delay(0x0FFFEF);
                             LED4(OFF);
        }


}

 

 

专注于最新测试仪器仪表(测试机)研发、生产、销售.

应用领域:线材测试、安规测试(高压测试)、变压器测试(LCR Meter)、PCB低阻测试、电源系统测试。

淘宝小店:http://shop72422917.taobao.com

有意者QQ:148208292

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值