[C] 纯文本查看 复制代码#include &quot;stm32f10x.h&quot; //相当与51单片机中的 #include<reg51.h>
#include &quot;led.h&quot;
void Delay( uint32_t count )
{
for (; count!=0; count--);
}
int main(void)
{
LED_GPIO_Config();
while(1)
{
GPIO_ResetBits(LED_G_GPIO_PORT,LED_G_GPIO_PIN);
Delay(0xffffff);
GPIO_SetBits(LED_G_GPIO_PORT,LED_G_GPIO_PIN);
Delay(0xffffff);
GPIO_ResetBits(LED_B_GPIO_PORT,LED_B_GPIO_PIN);
Delay(0xffffff);
GPIO_SetBits(LED_B_GPIO_PORT,LED_B_GPIO_PIN);
Delay(0xffffff);
}
}
/****************************
led.c************************
*****************************
****************************/
#include &quot;led.h&quot;
void LED_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
RCC_APB2PeriphClockCmd( LED_G_GPIO_CLK | LED_B_GPIO_CLK , ENABLE);
GPIO_InitStruct.GPIO_Mode = LED_GPIO_MODE;
GPIO_InitStruct.GPIO_Speed = LED_GPIO_SPEED;
GPIO_InitStruct.GPIO_Pin = LED_G_GPIO_PIN;//绿灯
GPIO_Init(LED_G_GPIO_PORT,&GPIO_InitStruct);
GPIO_InitStruct.GPIO_Pin = LED_B_GPIO_PIN;//蓝灯
GPIO_Init(LED_B_GPIO_PORT,&GPIO_InitStruct);
/* 关闭所有led灯 */
GPIO_SetBits(LED_G_GPIO_PORT, LED_G_GPIO_PIN);
/* 关闭所有led灯 */
GPIO_SetBits(LED_B_GPIO_PORT, LED_B_GPIO_PIN);
}
/****************************
led.h************************
*****************************
****************************/
#ifndef _LED_H_
#define _LED_H_
#include &quot;stm32f10x.h&quot;
#define LED_GPIO_MODE GPIO_Mode_Out_PP
#define LED_GPIO_SPEED GPIO_Speed_50MHz
//绿色
#define LED_G_GPIO_PORT GPIOB
#define LED_G_GPIO_PIN GPIO_Pin_0
#define LED_G_GPIO_CLK RCC_APB2Periph_GPIOB
//蓝色
#define LED_B_GPIO_PORT GPIOB
#define LED_B_GPIO_PIN GPIO_Pin_1
#define LED_B_GPIO_CLK RCC_APB2Periph_GPIOB
void LED_GPIO_Config (void);
#endif
蓝绿流水灯。实现过程非常曲折,一开始单独的绿灯亮灭显示正常,只要再加上蓝灯就不正常了。修改了好久,最后参照别人的代码发现了自己的问题。 |