关于stm32神舟3号开发板的流水灯问题
卖家提供的源码如下:#include"stm32f10x.h"/*LED灯相关定义*/#defineRCC_GPIO_LEDRCC_APB2Periph_GPIOF/*L...
卖家提供的源码如下:
#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--);
}
我新建工程,把源码复制进去之后,编译不通过,12个错误啊,全是 identifier "GPIO_Pin_7"is undefined 这样的错误,请问我还要添加些什么东西进去啊,这可是卖家提供的源码啊
小弟刚开始学stm32,大侠们多多指点啊 展开
#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--);
}
我新建工程,把源码复制进去之后,编译不通过,12个错误啊,全是 identifier "GPIO_Pin_7"is undefined 这样的错误,请问我还要添加些什么东西进去啊,这可是卖家提供的源码啊
小弟刚开始学stm32,大侠们多多指点啊 展开
4个回答
展开全部
GPIO_Pin_7是在文件"stm32f10x_gpio.h"里定义的。首先,卖家提供的源码应该有相应的工程的,你可以参考下他的工程配置是怎么管理的;其次,在头文件#include "stm32f10x.h"里查找看下有没有包含文件"stm32f10x_gpio.h",没有包含的话,是找不到GPIO_Pin_7的定义的;最后,在"stm32f10x.h"里包含有"stm32f10x_conf.h",而"stm32f10x_conf.h"里面包含 "stm32f10x_gpio.h",所以,你看下以上包含路径对没有,没有对的话,就应该修改过来。
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
小弟 ,这些都没有定义, 建议你把STM32库函数文件下载下来看看,或者编译软件的目录下也有例程啊,多看看 就明白了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
问题补充:这个是自己做的 ...这个块板子的例程程序基本都是使用库函数的,你要看下使用到什么库函数了,将相关文件包含进去就可以了。 ...这板子很垃圾...
追问
在高手的眼中,这是垃圾,可我连菜鸟都还不是啊,帮忙找个原因呗,大侠。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
神舟开发板就是垃圾,很多例程都不能用的。千万别选这个,后悔死了。
正考虑换,不知道换哪个呢。
正考虑换,不知道换哪个呢。
追问
换哪个好?牛系列也垃圾啊
追答
原子的板子有不少说好的,可是我需要dac模块,原子的没有。如果你不需要dac,你可以选原子的板子。奋斗的也不少说好的,没用过。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询