//分別按下S1~S4,D1~D4分別點亮#include "stm32f10x.h"
void Delay(unsigned int x);
int main(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE,ENABLE);//IO口使能設(shè)置
GPIO_InitTypeDef GPIO_InitStructure; //定義結(jié)構(gòu)體
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;//LED管腳
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_13; //LED管腳
GPIO_Init(GPIOD, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5;//按鍵管腳
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //設(shè)置為上拉輸入
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOE, &GPIO_InitStructure);
while (1)
{
if(!(GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_5)))
GPIO_SetBits(GPIOC, GPIO_Pin_6);
else
GPIO_ResetBits(GPIOC, GPIO_Pin_6);
if(!(GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_4)))
GPIO_SetBits(GPIOC, GPIO_Pin_7);
else
GPIO_ResetBits(GPIOC, GPIO_Pin_7);
if(!(GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_3)))
GPIO_SetBits(GPIOD, GPIO_Pin_13);
else
GPIO_ResetBits(GPIOD, GPIO_Pin_13);
if(!(GPIO_ReadInputDataBit(GPIOE, GPIO_Pin_2)))
GPIO_SetBits(GPIOD, GPIO_Pin_6);
else
GPIO_ResetBits(GPIOD, GPIO_Pin_6);
}
}
void Delay(unsigned int x)
{
unsigned int t;
t=x;
while(t--);
}
評論