Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Struct 没有这样的参数?_Struct_Typedef_Stm32 - Fatal编程技术网

Struct 没有这样的参数?

Struct 没有这样的参数?,struct,typedef,stm32,Struct,Typedef,Stm32,我认为,这是一个与C相关的问题。 STM32论坛也提出了这个问题。 请帮我弄清楚结构 此时,在AC6+Eclipse环境中,构建错误显示 但是,当您搜索stm32f0xx_hal_adc.h文件时,它被写为 typedef struct { ADC_TypeDef *Instance; /* !< Register base address */ ADC_InitTypeDef Init;

我认为,这是一个与C相关的问题。 STM32论坛也提出了这个问题。 请帮我弄清楚结构

此时,在AC6+Eclipse环境中,构建错误显示

但是,当您搜索stm32f0xx_hal_adc.h文件时,它被写为

typedef struct
{
 ADC_TypeDef          *Instance; /*                      !< Register base address */
ADC_InitTypeDef                 Init;                              /*!< ADC required parameters */
DMA_HandleTypeDef         *DMA_Handle;            /*!< Pointer DMA Handler */
HAL_LockTypeDef                Lock;                         /*!< ADC locking object */
__IO uint32_t                          State;                       /*!< ADC communication state (bitmap of ADC states) */
__IO uint32_t                   ErrorCode;                      /*!< ADC Error code */
}ADC_HandleTypeDef;
typedef结构
{
ADC_TypeDef*实例;/*!<寄存器基址*/
ADC_InitTypeDef Init;/*!

这是否意味着,如果使用CMSIS,ADC_HandleTypeDef未在stm32f0xx_hal_ADC.h中声明?

我认为定义在核心cm0.h中声明。为了构建HAL驱动程序,您需要将其包括在内。

我认为,如果使用CMSIS,则定义在core\u cm0.h中声明。为了构建HAL驱动程序,您需要包含此文件。

您必须包含此文件,即使项目中包含此文件,但如果您不在CubeMx中启用外围设备,也不会包含此文件。因为有一个名为stm32f4xx_hal_conf.h的文件,所以您将看到所有由CubeMx启用的文件,如果未启用,它将像下面这样注释

/**
  * @brief Include module's header file 
  */

#ifdef HAL_RCC_MODULE_ENABLED
  #include "stm32f4xx_hal_rcc.h"
#endif /* HAL_RCC_MODULE_ENABLED */

您必须包括该文件,即使该文件在项目中,如果您不在CubeMx中启用外围设备,也不会包括该文件。因为有一个名为stm32f4xx_hal_conf.h的文件,所以您将看到所有由CubeMx启用的文件,如果未启用,它将像下面这样注释

/**
  * @brief Include module's header file 
  */

#ifdef HAL_RCC_MODULE_ENABLED
  #include "stm32f4xx_hal_rcc.h"
#endif /* HAL_RCC_MODULE_ENABLED */

这个问题真是一团糟!!!你可以在那里缩进那段代码,把编译错误写在一个狭窄的段落里,这样我们就不必横着滚动它了……你的意思是我不需要介绍任何东西?你能把它从左向右和从右向左滚动吗?这个问题真是一团糟!!!你可以在那里缩进那段代码,把编译错误写在一个狭窄的段落里,这样我们就不必横着滚动它了……你的意思是我不需要介绍任何东西?你不能从左向右和从右向左滚动它吗?你不认为C:\STM32\u toolchain\common\Drivers\CMSIS\Include应该放在project>properties>C/C++Build>Setting>tool Setting>includes上吗?是的,这是一个好的开始,你需要包含core\u cm0.h,这样hal就可以访问它的符号了。我几天前就这么做了,但不知道为什么它显示错误?这是否存在core_cm0.h的升级问题?你不认为C:\STM32_toolchain\common\Drivers\CMSIS\Include应该放在project>properties>C/C++Build>Setting>tool Setting>includes?是的,这是一个好的开始,你需要包含core_cm0.h,这样hal就可以访问它的符号了。我几天前做了,但不知道为什么显示错误?core_cm0.h是否有升级问题?我想我是这样做的,看看这个链接,确保文件stm32f4xx_hal_conf.h中的define宏存在,define hal_ADC_MODULE_enable我想我是这样做的,看看这个链接,确保文件stm32f4xx_hal_conf.h中的define宏存在,define hal ADC模块已启用