新手上路
- 积分
- 48
- 金钱
- 48
- 注册时间
- 2014-5-13
- 在线时间
- 0 小时
|

楼主 |
发表于 2014-5-14 13:46:17
|
显示全部楼层
好的 这个工程我用了三个文件 你们看看下面是 MAIN 文件的
#include"stm32f10x.h"
#include"led.h"
void Delay(__IO u32 nCount);
int main(void)
{
while(1)
{
LED1(ON); // 亮
Delay(10);
LED1(OFF); //灭
LED2(ON);
Delay(10);
LED2(OFF);
LED3(ON);
Delay(10);
LED3(OFF);
}
}
void Delay(__IO u32 nCount)// 简单的延时函数
{
for(;nCount !=0;nCount--);
}
在下面是 LED.C 的
#include"led.h"
void LED_GPIO_Config(void)
{
/*定义一个GPIO_Inittypedef类型的结构体*/
GPIO_InitTypeDef GPIO_InitStructure;
/*开启GPIOC的外设时钟*/
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE);
/*选择要控制的GPIOC引脚*/
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5;
/*设置引脚模式为通用推挽输出*/
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_Out_PP;
/*设置引脚速率为50MHZ*/
GPIO_InitStructure.GPIO_Speed =GPIO_Speed_50MHz;
/*调用库函数。初始化GPIOC*/
GPIO_Init(GPIOC,&GPIO_InitStructure);
/*关闭所有LED灯*/
GPIO_SetBits(GPIOC,GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5);
}
这下面试 LED.H好的
#ifndef _LED_H
#define _LED_H
#include"stm32f10x.h"
#define ON 0
#define OFF 1
//带参宏
#define LED1(a) if (a) \
GPIO_SetBits(GPIOC,GPIO_Pin_3);\
else \
GPIO_ResetBits(GPIOC,GPIO_Pin_3)
#define LED2(a) if (a)\
GPIO_SetBits(GPIOC,GPIO_Pin_4);\
else \
GPIO_ResetBits(GPIOC,GPIO_Pin_4)
#define LED3(a) if (a)\
GPIO_SetBits(GPIOC,GPIO_Pin_5);\
else \
GPIO_ResetBits(GPIOC,GPIO_Pin_5)
void LED_GPIO_Config(void);
#endif /*_LED_H*/
MAIN编译 都通过了 没问题的 |
|