搜索
查看: 1327|回复: 0

[求助] HAL库模板下添加新的.c .h文件出现identifier问题

[复制链接]

该用户从未签到

1

主题

1

帖子

0

蝴蝶豆

新手上路

最后登录
2021-2-4
发表于 2021-2-4 17:17:37 | 显示全部楼层 |阅读模式
根据HALcubeF1创建一个工程模板,不添加其他文件下是可以编译不报错的。
可添加了自己写的BSP.C和BSP.H后报错identifier。

看了一下,这是一个枚举类型,在stm32f1xx_hal_def.h中定义。
可我的bsp.h中已经包含了这个头文件,我自己的BSP文件中也没有用这个枚举。
库中的其他外设文件都是这样写的,也没问题,不添加自己写的BSP.c时也能正常编译,添加了后就报错。
可BSP编译列表中也有这个头文件,依然报错,不知如何解决。恳请大佬教我。工程文件在最后。

  1. /* Define to prevent recursive inclusion -------------------------------------*/

  2. #ifndef __BSP_H

  3. #define __BSP_H



  4. /* Includes ------------------------------------------------------------------*/

  5. #include "stm32f1xx_hal_def.h"



  6. /* Exported types ------------------------------------------------------------*/



  7. /* Exported define -----------------------------------------------------------*/



  8. /* 端口引脚定义 */

  9. //R 红色灯

  10. #define R_LED_PIN                  GPIO_PIN_5               

  11. #define R_LED_GPIO_PORT            GPIOA                     

  12. //G 绿色灯

  13. #define G_LED_PIN                  GPIO_PIN_6               

  14. #define G_LED_GPIO_PORT            GPIOA                     

  15. //B 蓝色灯

  16. #define B_LED_PIN                  GPIO_PIN_7              

  17. #define B_LED_GPIO_PORT            GPIOA                       

  18. //打开LED的IO的时钟

  19. #define LED_GPIO_CLK_ENABLE()    __HAL_RCC_GPIOA_CLK_ENABLE()



  20. /* Exported constants --------------------------------------------------------*/



  21. /* Exported variables --------------------------------------------------------*/



  22. /* Exported macro ------------------------------------------------------------*/



  23. /* 定义单独控制RGB的宏 */

  24. //红绿蓝开灯

  25. #define R_LED_ON                HAL_GPIO_WritePin(R_LED_GPIO_PORT,R_LED_PIN,GPIO_PIN_SET)

  26. #define G_LED_ON                HAL_GPIO_WritePin(G_LED_GPIO_PORT,G_LED_PIN,GPIO_PIN_SET)

  27. #define B_LED_ON                HAL_GPIO_WritePin(B_LED_GPIO_PORT,B_LED_PIN,GPIO_PIN_SET)

  28. //红绿蓝关灯

  29. #define R_LED_OFF                HAL_GPIO_WritePin(R_LED_GPIO_PORT,R_LED_PIN,GPIO_PIN_RESET)

  30. #define G_LED_OFF                HAL_GPIO_WritePin(G_LED_GPIO_PORT,G_LED_PIN,GPIO_PIN_RESET)

  31. #define B_LED_OFF                HAL_GPIO_WritePin(B_LED_GPIO_PORT,B_LED_PIN,GPIO_PIN_RESET)

  32. //红绿蓝反转

  33. #define R_LED_TOGGLE                HAL_GPIO_TogglePin(R_LED_GPIO_PORT, R_LED_PIN)

  34. #define G_LED_TOGGLE                HAL_GPIO_TogglePin(G_LED_GPIO_PORT, G_LED_PIN)

  35. #define B_LED_TOGGLE                HAL_GPIO_TogglePin(B_LED_GPIO_PORT, B_LED_PIN)



  36. /* 定义基本混色的宏*/

  37. //红

  38. #define LED_RED  \

  39.                                         R_LED_ON;\

  40.                                         G_LED_OFF;\

  41.                                         B_LED_OFF

  42. //绿

  43. #define LED_GREEN                \

  44.                                         R_LED_OFF;\

  45.                                         G_LED_ON;\

  46.                                         B_LED_OFF

  47. //蓝

  48. #define LED_BLUE        \

  49.                                         R_LED_OFF;\

  50.                                         G_LED_OFF;\

  51.                                         B_LED_ON                        

  52. //黄(红+绿)                                       

  53. #define LED_YELLOW        \

  54.                                         R_LED_ON;\

  55.                                         G_LED_ON;\

  56.                                         B_LED_OFF

  57. //紫(红+蓝)

  58. #define LED_PURPLE        \

  59.                                         R_LED_ON;\

  60.                                         G_LED_OFF;\

  61.                                         B_LED_ON

  62. //青(绿+蓝)

  63. #define LED_CYAN \

  64.                                         R_LED_OFF;\

  65.                                         G_LED_ON;\

  66.                                         B_LED_ON                                       

  67. //白(红+绿+蓝)

  68. #define LED_WHITE        \

  69.                                         R_LED_ON;\

  70.                                         G_LED_ON;\

  71.                                         B_LED_ON                                       

  72. //黑(全部关闭)

  73. #define LED_RGBOFF        \

  74.                                         R_LED_OFF;\

  75.                                         G_LED_OFF;\

  76.                                         B_LED_OFF





  77. /* Exported functions prototypes----------------------------------------------*/

  78. void GPIO_Congfig(void);







  79. #endif /* __BSP_H */
复制代码
  1. /**

  2.   ******************************************************************************

  3.   * @file    NAME

  4.   * @author  WHO

  5.   * [url=home.php?mod=space&uid=41770]@brief[/url]   DO WHAT

  6.   ******************************************************************************/



  7. /* Includes ------------------------------------------------------------------*/

  8. #include "BSP.h"



  9. /* Private typedef -----------------------------------------------------------*/

  10. /* Private define ------------------------------------------------------------*/

  11. /* Private macro -------------------------------------------------------------*/

  12. /* Private constants ---------------------------------------------------------*/

  13. /* Private variables ---------------------------------------------------------*/

  14. /* Private function prototypes -----------------------------------------------*/

  15. /* Private functions ---------------------------------------------------------*/

  16. /**

  17.   * @brief  初始化按键和LED的GPIO

  18.   * @param  None

  19.   * @retval None

  20.   */

  21. void GPIO_Congfig(void)

  22. {

  23. /*定义一个GPIO_InitTypeDef类型的结构体*/

  24.     GPIO_InitTypeDef  GPIO_InitStruct;



  25.     /*开启LED相关的GPIO外设时钟*/

  26.                 LED_GPIO_CLK_ENABLE();

  27.         

  28.     /*选择要控制的GPIO引脚*/                                                                                                                           

  29.     GPIO_InitStruct.Pin = R_LED_PIN;        



  30.     /*设置引脚的输出类型为推挽输出*/

  31.     GPIO_InitStruct.Mode  = GPIO_MODE_OUTPUT_PP;  



  32.     /*设置引脚为上拉模式*/

  33.     GPIO_InitStruct.Pull  = GPIO_PULLUP;



  34.     /*设置引脚速率为高速 */   

  35.     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;



  36.     /*调用库函数,使用上面配置的GPIO_InitStructure初始化GPIO*/

  37.     HAL_GPIO_Init(R_LED_GPIO_PORT, &GPIO_InitStruct);        



  38.     /*选择要控制的GPIO引脚*/                                                                                                                           

  39.     GPIO_InitStruct.Pin = G_LED_PIN;        

  40.     HAL_GPIO_Init(G_LED_GPIO_PORT, &GPIO_InitStruct);        



  41.     /*选择要控制的GPIO引脚*/                                                                                                                           

  42.     GPIO_InitStruct.Pin = B_LED_PIN;        

  43.     HAL_GPIO_Init(B_LED_GPIO_PORT, &GPIO_InitStruct);        



  44.     /*关闭RGB灯*/

  45.     LED_RGBOFF;



  46. }









  47. /*********************************************END OF FILE**********************/
复制代码


STM32F1_HAL_MDK_Templates - 2021.2.3.zip

2.04 MB, 下载次数: 1, 下载积分: ST金币 -1

回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-4-30 01:19 , Processed in 0.153764 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表