首页 > 代码库 > 点亮LED(库函数实现)
点亮LED(库函数实现)
本次测试采用的芯片是STM32F103CB
我的开发板如下:
此开发板有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.c2 #include "pbdata.h"3 #include "led.h"4 5 int main(void)6 {7 led_init();8 led_setBit();9 }
1 //pbdata.h2 #ifndef _pbdata_H3 #define _pbdata_H4 5 #include "stm32f10x.h"6 void delay(u32 nCount);7 8 #endif
1 //pbdata.c2 #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 124 delay(6000000);25 GPIO_ResetBits(GPIO_LED,GPIO_Pin_x);26 delay(6000000);27 }28 }
寄存器版后续更新中...
2014-08-19 01:30:14
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。