原创 代码:通过GPIO点亮LED

2008-4-8 20:27 3149 7 8 分类: MCU/ 嵌入式

Mini板上唯一现成的东西是4个LED,接在GPIOB 5,6,7,8,历尽千辛万苦,灯,终于亮了。(汗颜啊!)


 


#include "stm32f10x_lib.h"

GPIO_InitTypeDef GPIO_InitStructure;
/*  typedef struct
     {u16 GPIO_Pin;                   select pins to configure
      GPIOSpeed_TypeDef GPIO_Speed;
      GPIOMode_TypeDef GPIO_Mode;}GPIO_InitTypeDef
*/
void LED_Init(void);
void Delay(vu32);


void LED_Init(void)
{
   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);   //开GPIOB时钟
 //RCC_APB2PeriphClockCmd enable clock for some peripheral devices such as GPIOx and ADC1 (APB2)
 //RCC_APB1PeriphClockCmd enable clock for APB1 peripheral devices
 /*配置 GPIOB 5,6,7,8为push pull输出*/
   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7 ;  //configure Pin5,6,7
   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;    // P164 push-pull mode
   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  // GPIO_Speed_2/10/50MHz 3 frequencies
   GPIO_Init(GPIOB, &GPIO_InitStructure);             //GPIO initial


}


void Delay(vu32 nCount)
{
  for(; nCount != 0; nCount--);
}


main()
{
 
 LED_Init();
 
 while(1)
 {
  GPIO_SetBits(GPIOB, GPIO_Pin_5);//set GPIOC.5=1
  Delay(0x8ffff);
  GPIO_ResetBits(GPIOB, GPIO_Pin_5);//set GPIOC.5=0
  Delay(0x8ffff);
  GPIO_SetBits(GPIOB, GPIO_Pin_7);//GPIOC.7=1
  Delay(0x8ffff);
  GPIO_ResetBits(GPIOB, GPIO_Pin_7);//GPIOC.7=0
  Delay(0x8ffff);
  GPIO_SetBits(GPIOB, GPIO_Pin_6);//GPIOC.8=1
  Delay(0x8ffff);
  GPIO_ResetBits(GPIOB, GPIO_Pin_6);//GPIOC.8=0
  Delay(0x8ffff);
 
 }
}

文章评论1条评论)

登录后参与讨论

用户906612 2008-4-8 21:07

呵呵,加油!
相关推荐阅读
用户1359586 2011-07-07 11:49
一个简单字符驱动
网上常见的一个linux字符驱动,见 http://www.dzsc.com/data/html/2009-5-31/76528.html insmod test.ko lsmod      就可...
用户1359586 2010-05-14 22:38
FPGA自己产生reset
遇到一个FPGA没有外部的reset,只能自己产生了,这么简单一个问题居然想了很久才实现。在modelsim仿真是对的,还没有实际操作,也希望和大家讨论一下module reset_generatio...
用户1359586 2010-05-10 22:27
SRAM的时序约束
http://blog.ednchina.com/ilove314/198969/message.aspx#85821  读SRAM时序约束分析分析了SRAM的IO计算,但是没有讲如何具体的计算和Ti...
用户1359586 2010-04-07 21:09
CCS6000安装问题
http://bbs.21ic.com/icview-39374-1-1.html在安装CCS6000的时候,运行ccs6000.exe的时候,碰到好几机子都装不上。主要问题是在安装到“compone...
用户1359586 2010-01-13 21:15
matlab 函数:sprintf
for i="1:20"     j="sprintf"('%03d',i)endj =001j =002j =003j =004j =005j =006j =007j =008j =009j =01...
用户1359586 2009-09-29 09:54
有着十三亿人众的孔孟之乡没有一个教育家
   耶鲁大学校长 小贝诺.施密德特  曾任耶鲁大学校长的小贝诺?施密德特,日前在耶鲁大学学报上公开撰文批判中国大学,引起了美国教育界人士对中国大学的激烈争论。 对中国大学近年来久盛不衰的“做大做强”...
我要评论
1
7
关闭 站长推荐上一条 /2 下一条