本帖最后由 墨鱼腌肉 于 2018-9-12 15:05 编辑
包括主函数源代码:led.c文件 和 .h文件
跑马灯:用库函数方式写#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
//Ö÷3ìDòÔ′′úÂë
int main(void)
{
delay_init(); //Ñóê±oˉêy3õê¼»ˉ
LED_Init(); //3õê¼»ˉóëLEDᬽóμÄó2¼t½ó¿ú
while(1)
{
LED0=0;
LED1=1;
delay_ms(300); //Ñóê±300ms
LED0=1;
LED1=0;
delay_ms(300); //Ñóê±300ms
}
}
#include "led.h"
//¶Ë¿úÅäÖÃ
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOE, ENABLE); //ê1ÄüPB,PE¶Ë¿úê±Öó
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //LED0-->PB.5 ¶Ë¿úÅäÖÃ
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //íÆíìêä3ö
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO¿úËù¶èÎa50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure); //¸ù¾Yé趨2Îêy3õê¼»ˉGPIOB.5
GPIO_SetBits(GPIOB,GPIO_Pin_5); //PB.5 êä3ö¸ß
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //LED1-->PE.5 ¶Ë¿úÅäÖÃ, íÆíìêä3ö
GPIO_Init(GPIOE, &GPIO_InitStructure); //íÆíìêä3ö £¬IO¿úËù¶èÎa50MHz
GPIO_SetBits(GPIOE,GPIO_Pin_5); //PE.5 êä3ö¸ß
}
#ifndef __LED_H
#define __LED_H
#include "sys.h"
#define LED0 PBout(5)// PB5
#define LED1 PEout(5)// PE5
void LED_Init(void);//3õê¼»ˉ
#endif
.h文件里面就是变量声明和函数声明 没啥其他的。
|