用的是英培特的EMSTM32V1学习板,按下按键后开是流水灯显示,很简单不过以前没接触过ARM还是费了好大劲!
/************************************************************************
Copyright (c) 2008 wormchen
All rights reserved
文 件 名: main.c
说 明: 流水灯 按下Key键开始LED1 -LED4流水显示
主要硬件: EMSTM32V1+miniSTMV100(内部8MRC)
编译环境: MDK3.10
当前版本: 1.0
作 者: 陈崇
完成日期: 2008年3月19日16:05:39
取代版本: 1.0
原作 者: 陈崇
完成日期: 2008年3月19日16:05:44
************************************************************************/
#include
GPIO_InitTypeDef GPIO_InitStructure; //GPIO初始化结构体
/*****************************************************
函数: void Delay(vu32 nCount)
参数: vu32 nCount 延时时间
描述: 延时指定时间
返回: 无
******************************************************/
void Delay(vu32 nCount)
{
for(; nCount != 0; nCount--);
}
int main(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);//使能GPIOC时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9;
//选择引脚6,7,8,9
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //带上拉输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //输出频率最大50M
GPIO_Init(GPIOC, &GPIO_InitStructure); //初始化PC6,7,8,9引脚
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//使能GPIOB时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //选择引脚9
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //浮点输入
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //输入频率最大50M
GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化PB9引脚
while(1)
{
if(!GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_9))//如果按下Key开始流水
{
while(1)
{
GPIO_SetBits(GPIOC, GPIO_Pin_6);//点亮LED1
Delay(0x1ffff); //延时
GPIO_ResetBits(GPIOC, GPIO_Pin_6);//关闭LED1
GPIO_SetBits(GPIOC, GPIO_Pin_7);//点亮LED2
Delay(0x1ffff); //延时
GPIO_ResetBits(GPIOC, GPIO_Pin_7);//关闭LED2
GPIO_SetBits(GPIOC, GPIO_Pin_8);//点亮LED3
Delay(0x1ffff); //延时
GPIO_ResetBits(GPIOC, GPIO_Pin_8);//关闭LED3
GPIO_SetBits(GPIOC, GPIO_Pin_9);//点亮LED4
Delay(0x1ffff); //延时
GPIO_ResetBits(GPIOC, GPIO_Pin_9);//关闭LED4
GPIO_SetBits(GPIOC, GPIO_Pin_8);//点亮LED3
Delay(0x1ffff); //延时
GPIO_ResetBits(GPIOC, GPIO_Pin_8);//关闭LED3
GPIO_SetBits(GPIOC, GPIO_Pin_7);//点亮LED2
Delay(0x1ffff); //延时
GPIO_ResetBits(GPIOC, GPIO_Pin_7);//关闭LED2
}
}
}
}
用户461316 2008-8-25 08:28
用户109644 2008-4-2 10:57