stm32流水灯程序中遇到的几个问题?新手求指教

我这里有一个很简单的关于流水灯的程序:#include"stm32f10x.h"/*LED灯相关定义*/#defineRCC_GPIO_LEDRCC_APB2Periph... 我这里有一个很简单的关于流水灯的程序:
#include "stm32f10x.h"
/* LED灯相关定义*/
#define RCC_GPIO_LED RCC_APB2Periph_GPIOF /*LED使用的GPIO时钟*/
#define LEDn 4 /* LED数量*/
#define GPIO_LED GPIOF /* LED灯使用的GPIO组*/

#define DS1_PIN GPIO_Pin_6 /*DS1使用的GPIO管脚*/
#define DS2_PIN GPIO_Pin_7 /*DS2使用的GPIO管脚*/
#define DS3_PIN GPIO_Pin_8 /*DS3使用的GPIO管脚*/
#define DS4_PIN GPIO_Pin_9 /*DS4使用的GPIO管脚*/

GPIO_InitTypeDef GPIO_InitStructure;
ErrorStatus HSEStartUpStatus;
u8 count=0;

void RCC_Configuration(void);
void NVIC_Configuration(void);
void Delay(vu32 nCount);
void Turn_On_LED(u8 LED_NUM);

int main(void)
{

RCC_APB2PeriphClockCmd(RCC_GPIO_LED, ENABLE);
GPIO_InitStructure.GPIO_Pin = DS1_PIN|DS2_PIN|DS3_PIN|DS4_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIO_LED, &GPIO_InitStructure); /* LED灯相关的GPIO口初始化*/
GPIO_SetBits(GPIO_LED,DS1_PIN|DS2_PIN|DS3_PIN|DS4_PIN);
while(1)
{
GPIO_SetBits(GPIO_LED,DS1_PIN|DS2_PIN|DS3_PIN|DS4_PIN); Turn_On_LED(count%4); //点亮一个LED灯
count++;
Delay(0x2FFFFF);
}
}
/*点亮对应灯*/
void Turn_On_LED(u8 LED_NUM)
{
switch(LED_NUM)
{
case 0:
GPIO_ResetBits(GPIO_LED,DS1_PIN); /*点亮DS1灯*/
break;
case 1:
GPIO_ResetBits(GPIO_LED,DS2_PIN); /*点亮DS2灯*/
break;
case 2:
GPIO_ResetBits(GPIO_LED,DS3_PIN); /*点亮DS3灯*/
break;
case 3:
GPIO_ResetBits(GPIO_LED,DS4_PIN); /*点亮DS4灯*/
break;
default:
GPIO_ResetBits(GPIO_LED,DS1_PIN|DS2_PIN|DS3_PIN|DS4_PIN);
break;
}
}
void Delay(vu32 nCount)
{
for(; nCount != 0; nCount--);
}

我有两个问题:1.里面的
void RCC_Configuration(void);
void NVIC_Configuration(void);
这两个语句是起什么作用的?我把这两个语句去掉也是可以运行,但是我不知道这两条语句放这里有什么作用
2.这个程序最后有一个延时子程序,是延时多长时间?怎么计算的?
还有一个问题是:
ErrorStatus HSEStartUpStatus;
定义这个HSEStartUpStatus
变量是为了调试用 的嘛??还是有什么其他的用处啊???
希望各位大虾能不吝赐教~~~
展开
 我来答
百度网友651b643
2012-07-05 · TA获得超过123个赞
知道小有建树答主
回答量:211
采纳率:0%
帮助的人:133万
展开全部
void RCC_Configuration(void);
void NVIC_Configuration(void);
是时钟和中断的配置函数声明,如果你确定你在该文件中没有使用就可以去掉

延时子程序延时长短取决于传送过来的参数nCount ,以及STM32的时钟及分频情况
宿兴电子
2024-11-28 广告
联系我们一、有无震荡源 无源这里的“源”不是指电源,而是指震荡源。也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。 二、价格不同 有源蜂鸣器往比无源蜂鸣器贵,就是因为里面多个震荡... 点击进入详情页
本回答由宿兴电子提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式