32程序结构学习

初始化代码

复制代码
void LED_GPIO_Config(void)
{		
	/*定义一个GPIO_InitTypeDef类型的结构体*/
	GPIO_InitTypeDef GPIO_InitStructure;

	/*开启GPIOC的外设时钟*/
	RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE); 

	/*选择要控制的GPIOC引脚*/															   
  	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5;	

	/*设置引脚模式为通用推挽输出*/
  	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;   

	/*设置引脚速率为50MHz */   
  	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 

	/*调用库函数,初始化GPIOC*/
  	GPIO_Init(GPIOA, &GPIO_InitStructure);		  

	/* 关闭所有led灯	*/
	GPIO_SetBits(GPIOA, GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5);	 
}

其中开外设时钟是容易遗漏的。

复制代码
/******************** (C) COPYRIGHT 2012 WildFire Team **************************
 * 文件名  :main.c
 * 描述    :按键测试函数,按键为扫描模式        
 * 实验平台:野火STM32开发板
 * 库版本  :ST3.5.0
 *
 * 作者    :wildfire team 
 * 论坛    :http://www.amobbs.com/forum-1008-1.html
 * 淘宝    :http://firestm32.taobao.com
**********************************************************************************/
#include "stm32f10x.h" 
#include "led.h"
#include "key.h"  

/*
 * 函数名:main
 * 描述  :主函数
 * 输入  :无
 * 输出  :无
 */
int main(void)
{	
	/* config the led */
	LED_GPIO_Config();
	LED_A3( ON );

	/*config key*/
	Key_GPIO_Config();	
	
	while(1)                            
	{	   
		if( Key_Scan(GPIOB,GPIO_Pin_5) == KEY_OFF  )
		{
			/*LED1反转*/
			GPIO_WriteBit(GPIOA, GPIO_Pin_3, 
				(BitAction)(1-(GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_3))));
		}   
	}
}


/******************* (C) COPYRIGHT 2012 WildFire Team *****END OF FILE************/

用key点灯功能正常。

相关推荐
Willliam_william1 分钟前
QEMU学习之路(12)— 使用qemu-system-riscv64测试IOMMU
大数据·学习·elasticsearch
2zcode1 分钟前
基于Chaboche物理约束与LSTM残差学习的316L不锈钢循环塑性灰箱本构建模研究
学习·机器学习·lstm
IT_阿水5 分钟前
基于STM32河流水质检测软件设计
stm32·单片机·嵌入式硬件
my_daling9 分钟前
DSMC通信协议理解,以及如何在FPGA上实现DSMC从设备(2)
学习·fpga开发
70asunflower11 分钟前
半导体产业的经济逻辑、技术瓶颈与AI芯片格局:一份学习笔记
人工智能·笔记·学习
凉、介19 分钟前
C 语言类型强转引发的隐蔽内存破坏问题分析
c语言·开发语言·笔记·学习·嵌入式
知识分享小能手21 分钟前
R语言入门学习教程,从入门到精通,R语言分布式数据可视化(6)
学习·信息可视化·r语言
Robot_Nav27 分钟前
Mobile ALOHA:通过低成本全身远程操作 to 实现双手机器人移动操控学习【文献解读】
学习·机器人·模仿学习·双臂移动机器人
sinat_2554878127 分钟前
收藏品·学习笔记
java·javascript·windows·学习·microsoft
一个脚本boy28 分钟前
【渗透测试中收集信息命令并利用漏洞与提权命令总结基础版(适合新手入门学习渗透测试)】
学习·web安全·网络安全