首页 > 其他 > 详细

点亮LED(库函数实现)

时间:2014-08-19 02:07:53      阅读:400      评论:0      收藏:0      [点我收藏+]

本次测试采用的芯片是STM32F103CB

我的开发板如下:

bubuko.com,布布扣

此开发板有8个led,分别为D11,D12,D13,D14,D15,D16,D17,D18。查询核心板的电路图后知道其对应芯片的控制引脚为P0.0,P0.1,P0.2,P0.3,P0.4,P0.5,P0.6,P0.7,P0.8。

现在开始测试点亮D11。主要源代码如下:

1 //main.c
2 #include "pbdata.h"
3 #include "led.h"
4 
5 int main(void)
6 {
7         led_init();
8         led_setBit();
9 }
1 //pbdata.h
2 #ifndef _pbdata_H
3 #define _pbdata_H
4 
5 #include "stm32f10x.h"
6 void delay(u32 nCount);
7 
8 #endif
1 //pbdata.c
2 #include "pbdata.h"
3 
4 void delay(u32 nCount)
5 {
6     for(;nCount != 0;nCount--);
7 }
 1 //led.h
 2 #ifndef _LED_H
 3 #define _LED_H
 4 
 5 #define GPIO_Pin_x GPIO_Pin_8
 6 #define GPIO_LED GPIOB
 7 
 8 void led_init(void);
 9 void led_setBit(void);
10 
11 #endif
 1 //led.c
 2 #include "led.h"
 3 #include "pbdata.h"
 4 
 5 void led_init(void)
 6 {
 7     GPIO_InitTypeDef GPIO_InitStructure;
 8 
 9     SystemInit();  /*设置系统时钟*/
10 
11     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_x;
12     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
13     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
14 
15     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);/*打开LED使用的GPIO的时钟使能*/
16     GPIO_Init(GPIO_LED,&GPIO_InitStructure);
17 }
18 
19 void led_setBit(void)
20 {
21     while(1)
22     {
23     GPIO_SetBits(GPIO_LED,GPIO_Pin_x);  //set 1
24     delay(6000000);
25     GPIO_ResetBits(GPIO_LED,GPIO_Pin_x);
26     delay(6000000);
27     }
28 }

 

                                          寄存器版后续更新中...

2014-08-19 01:30:14

点亮LED(库函数实现),布布扣,bubuko.com

点亮LED(库函数实现)

原文:http://www.cnblogs.com/lweleven/p/led1.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!