stm32,按键控制led

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include "stm32f10x.h"

void Delay(u32 count)
{
u32 i=0;
for(;i
}
int main(void)
{
GPIO_InitTypeDef GPIO_InitStructure;//定义一个变量
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOG|RCC_APB2Periph_GPIOF, ENABLE); //使能PB端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;//下拉输入IPD,上拉输入IPU
//如果是输入,speed可以不赋值
GPIO_Init(GPIOG, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz
GPIO_Init(GPIOF, &GPIO_InitStructure); //根据设定参数初始化GPIOB.5

while(1)
{
if(GPIO_ReadInputDataBit(GPIOG,GPIO_Pin_8)==0)
{

//GPIO_ResetBits(GPIOF,GPIO_Pin_6);//第一种输出低电平
//GPIO_Write(GPIOF,0x80); //第二种让I/o口输出
GPIOF->ODR=0XffFF; //第三种
}
else
{
GPIOF->ODR=0X0000;


}


// Delay(3000000); GPIO_ResetBits(GPIOF,GPIO_Pin_6);//输出低电平
// GPIO_SetBits(GPIOF,GPIO_Pin_6);//输出高电平


}
}


相关文档
最新文档