kubi 发表于 2020-7-30 11:25:05

RCC_APB1ENR1_WWDG2EN

..\APP\My_user\GREEN\GREEN.c(28): error:#20: identifier "RCC_APB1ENR1_WWDG2EN" is undefined是什么原因?
HAL生成时这个:#define __HAL_RCC_WWDG_CLK_DISABLE()         CLEAR_BIT(RCC->APB1ENR1, RCC_APB1ENR1_WWDG2EN)
                           #define RCC_APB1ENR1_WWDGEN_Pos            (11U)
#define RCC_APB1ENR1_WWDGEN_Msk            (0x1UL << RCC_APB1ENR1_WWDGEN_Pos)/*!< 0x00000800 */
#define RCC_APB1ENR1_WWDGEN                  RCC_APB1ENR1_WWDGEN_Msk

发表于 2020-7-30 17:23:17

楼主是不是没有引用对应的头文件导致的。

陌路夕颜 发表于 2020-7-31 09:03:44

这个要么是缺少对应的头文件,要么就是所选的芯片型号没有对应的功能

toofree 发表于 2020-7-31 11:03:51

生成HAL时应该是编译没有错的,但是你在自己的应用程序中调用相关函数或参数时,就报错。
在你的应该程序GREEN.c中必须,必须包含有“RCC_APB1ENR1_WWDG2EN”定义的头文件。

lebment 发表于 2020-7-31 13:08:16

补充上面的回答,头文件是一个
还有一个是你型号不对应,寄存器不一样导致的。

hjl2832 发表于 2020-8-2 10:27:38

如果是CUBE配置的,应该不会出错。可能楼主是找的网上的程序,然后自己选择的芯片与原文件不一致,导致芯片的头文件定义与原工程不匹配,在工程定义中修改一下芯片型号就成了。
最明显的应用就是L系列的芯片与F系列的头文件是有区别的。

kubi 发表于 2020-8-5 17:19:19

不是头文件问题,可以链接到。感觉Cube Mx生成问题,RCC_APB1ENR1_WWDG2EN会不会是RCC_APB1ENR1_WWDGEN呢?
#define __HAL_RCC_WWDG_CLK_DISABLE()CLEAR_BIT(RCC->APB1ENR1, RCC_APB1ENR1_WWDG2EN)
#define RCC_APB1ENR1_WWDGEN_Pos   (11U)
#define RCC_APB1ENR1_WWDGEN_Msk    (0x1UL << RCC_APB1ENR1_WWDGEN_Pos)/*!< 0x00000800 */
#define RCC_APB1ENR1_WWDGEN            RCC_APB1ENR1_WWDGEN_Msk

发表于 2020-8-5 20:28:28

楼主,如果方便可以把你的工程贴出来。可能是因为头文件引用的问题。虽然可以链接到定义,但是如果不引用头文件,还是会报错的。

butterflyspring 发表于 2020-8-13 12:08:08

一般遇到这样的提示都是和头文件或者配置有关。目前CUBE生成的工程关于头文件引用还没遇到这样的错误。楼主将工程文件贴出来,大家可以帮助编译一下看
页: [1]
查看完整版本: RCC_APB1ENR1_WWDG2EN