小学生
最后登录1970-1-1
在线时间 小时
注册时间2019-10-23
|
根据HALcubeF1做了个工程模板,不添加其他文件下是可以编译不报错的。
可添加了自己写的BSP.C和BSP.H后报错identifier
看了一下,这是个枚举类型,在stm32f1xx_hal_def.h中定义。
可我的bsp.h中已经包含了这个头文件,我自己BSP文件中也没有用这个枚举。
库中的其他外设文件都是这样写的,也没问题,不添加自己写的BSP.c时也能正常编译,添加了后就报错。
可BSP编译列表中也有这个头文件,依然报错,不知如何解决。恳请大佬教我。工程文件在最后。
- /* Define to prevent recursive inclusion -------------------------------------*/
- #ifndef __BSP_H
- #define __BSP_H
- /* Includes ------------------------------------------------------------------*/
- #include "stm32f1xx_hal_def.h"
- /* Exported types ------------------------------------------------------------*/
- /* Exported define -----------------------------------------------------------*/
- /* 端口引脚定义 */
- //R 红色灯
- #define R_LED_PIN GPIO_PIN_5
- #define R_LED_GPIO_PORT GPIOA
- //G 绿色灯
- #define G_LED_PIN GPIO_PIN_6
- #define G_LED_GPIO_PORT GPIOA
- //B 蓝色灯
- #define B_LED_PIN GPIO_PIN_7
- #define B_LED_GPIO_PORT GPIOA
- //打开LED的IO的时钟
- #define LED_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
- /* Exported constants --------------------------------------------------------*/
- /* Exported variables --------------------------------------------------------*/
- /* Exported macro ------------------------------------------------------------*/
- /* 定义单独控制RGB的宏 */
- //红绿蓝开灯
- #define R_LED_ON HAL_GPIO_WritePin(R_LED_GPIO_PORT,R_LED_PIN,GPIO_PIN_SET)
- #define G_LED_ON HAL_GPIO_WritePin(G_LED_GPIO_PORT,G_LED_PIN,GPIO_PIN_SET)
- #define B_LED_ON HAL_GPIO_WritePin(B_LED_GPIO_PORT,B_LED_PIN,GPIO_PIN_SET)
- //红绿蓝关灯
- #define R_LED_OFF HAL_GPIO_WritePin(R_LED_GPIO_PORT,R_LED_PIN,GPIO_PIN_RESET)
- #define G_LED_OFF HAL_GPIO_WritePin(G_LED_GPIO_PORT,G_LED_PIN,GPIO_PIN_RESET)
- #define B_LED_OFF HAL_GPIO_WritePin(B_LED_GPIO_PORT,B_LED_PIN,GPIO_PIN_RESET)
- //红绿蓝反转
- #define R_LED_TOGGLE HAL_GPIO_TogglePin(R_LED_GPIO_PORT, R_LED_PIN)
- #define G_LED_TOGGLE HAL_GPIO_TogglePin(G_LED_GPIO_PORT, G_LED_PIN)
- #define B_LED_TOGGLE HAL_GPIO_TogglePin(B_LED_GPIO_PORT, B_LED_PIN)
- /* 定义基本混色的宏*/
- //红
- #define LED_RED \
- R_LED_ON;\
- G_LED_OFF;\
- B_LED_OFF
- //绿
- #define LED_GREEN \
- R_LED_OFF;\
- G_LED_ON;\
- B_LED_OFF
- //蓝
- #define LED_BLUE \
- R_LED_OFF;\
- G_LED_OFF;\
- B_LED_ON
- //黄(红+绿)
- #define LED_YELLOW \
- R_LED_ON;\
- G_LED_ON;\
- B_LED_OFF
- //紫(红+蓝)
- #define LED_PURPLE \
- R_LED_ON;\
- G_LED_OFF;\
- B_LED_ON
- //青(绿+蓝)
- #define LED_CYAN \
- R_LED_OFF;\
- G_LED_ON;\
- B_LED_ON
- //白(红+绿+蓝)
- #define LED_WHITE \
- R_LED_ON;\
- G_LED_ON;\
- B_LED_ON
- //黑(全部关闭)
- #define LED_RGBOFF \
- R_LED_OFF;\
- G_LED_OFF;\
- B_LED_OFF
- /* Exported functions prototypes----------------------------------------------*/
- void GPIO_Congfig(void);
- #endif /* __BSP_H */
复制代码- /**
- ******************************************************************************
- * @file NAME
- * @author WHO
- * [url=home.php?mod=space&uid=41770]@brief[/url] DO WHAT
- ******************************************************************************/
- /* Includes ------------------------------------------------------------------*/
- #include "BSP.h"
- /* Private typedef -----------------------------------------------------------*/
- /* Private define ------------------------------------------------------------*/
- /* Private macro -------------------------------------------------------------*/
- /* Private constants ---------------------------------------------------------*/
- /* Private variables ---------------------------------------------------------*/
- /* Private function prototypes -----------------------------------------------*/
- /* Private functions ---------------------------------------------------------*/
- /**
- * @brief 初始化按键和LED的GPIO
- * @param None
- * @retval None
- */
- void GPIO_Congfig(void)
- {
- /*定义一个GPIO_InitTypeDef类型的结构体*/
- GPIO_InitTypeDef GPIO_InitStruct;
- /*开启LED相关的GPIO外设时钟*/
- LED_GPIO_CLK_ENABLE();
-
- /*选择要控制的GPIO引脚*/
- GPIO_InitStruct.Pin = R_LED_PIN;
- /*设置引脚的输出类型为推挽输出*/
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
- /*设置引脚为上拉模式*/
- GPIO_InitStruct.Pull = GPIO_PULLUP;
- /*设置引脚速率为高速 */
- GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
- /*调用库函数,使用上面配置的GPIO_InitStructure初始化GPIO*/
- HAL_GPIO_Init(R_LED_GPIO_PORT, &GPIO_InitStruct);
- /*选择要控制的GPIO引脚*/
- GPIO_InitStruct.Pin = G_LED_PIN;
- HAL_GPIO_Init(G_LED_GPIO_PORT, &GPIO_InitStruct);
- /*选择要控制的GPIO引脚*/
- GPIO_InitStruct.Pin = B_LED_PIN;
- HAL_GPIO_Init(B_LED_GPIO_PORT, &GPIO_InitStruct);
- /*关闭RGB灯*/
- LED_RGBOFF;
- }
- /*********************************************END OF FILE**********************/
复制代码
STM32F1_HAL_MDK_Templates - 2021.2.3.zip
(2.04 MB, 下载次数: 4)
|
|