原创 [原创]STM32学习笔记之入门 发帖庆贺LED流水灯

2008-3-19 16:48 6162 8 10 分类: MCU/ 嵌入式

用的是英培特的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


     }
   
    }
  }


}


工程项目rar

文章评论2条评论)

登录后参与讨论

用户461316 2008-8-25 08:28

顶起!!! 我的是万利的那个板板哦!!

用户109644 2008-4-2 10:57

您好!在EDN上看到您正在用英蓓特的CORTEX-M3的开发板我们现在也正在用,我也是刚开始接触ARM对一些东西还不太懂,想请教您一个问题#define USART_IT_PE ((u16)0x0028) #define USART_IT_TXE ((u16)0x0727) #define USART_IT_TC ((u16)0x0626) #define USART_IT_RXNE ((u16)0x0525) #define USART_IT_IDLE ((u16)0x0424) #define USART_IT_LBD ((u16)0x0846) #define USART_IT_CTS ((u16)0x096A) #define USART_IT_ERR ((u16)0x0060) #define USART_IT_ORE ((u16)0x0360) #define USART_IT_NE ((u16)0x0260) #define USART_IT_FE ((u16)0x0160) 他给的例程中关于USART的这些中断都分别是在哪个寄存器中配置的呀,我是看不明白了!望前辈能赐教! 我的邮箱是0318lqx@163.com多谢了!
相关推荐阅读
用户1079511 2009-07-10 16:08
Mega16读取SD卡内的FAT16文件
最近一直在学习FAT文件系统,在网络上找了一些资料加上参考别人写的程序,现在已经可以读取SD/MMC卡指定的文件,有些东西自己也不是很懂,回头还得慢慢研究。程序比较简单,就是读取SD卡的基本信息和初始...
用户1079511 2009-04-14 08:38
[原创]AVR M16热敏电阻测温LCM12864显示
https://static.assets-stash.eet-china.com/album/old-resources/2009/4/14/d085d878-6d8f-4245-acdb-cf44...
用户1079511 2009-04-08 11:34
Mega16 Bootloader+PC端上位机
AVR的Bootloader功能很方便产品的在线升级,以前参考网上的资料写过下位机的程序,标准的XMODEM协议,用超级终端来升级程序。最近在学习C#,所以用C#写个简单的上位机软件,配合以前的boo...
用户1079511 2009-01-22 16:15
Mega16热敏电阻测温上位机曲线显示
最近在一直学习用C#做上位机,把以前的做的m16热敏电阻测温的程序翻出来,稍加修改通过串口发给PC;PC端用c#2008写程序,接收数据后通过ZedGraph绘图控件实时显示出曲线图。ZedGraph...
用户1079511 2009-01-09 09:25
[原创]c#的Hex转Bin小程序
最近在搞AVR的bootloader,程序已经写好了,参考网上的代码用的是XMODEM协议用XP自带的超级终端。问题是xmodem支持bin格式的文件,一般用编译器生成的是hex文件不用直接使用,需要...
用户1079511 2008-12-31 10:42
[学习]用595驱动LED实现灰度调节
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />前一段时间在ouravr论坛里闲逛的...
我要评论
2
8
关闭 站长推荐上一条 /2 下一条