"..\source\Appliciation\Telltales_user.c", line 221: error #20: identifier "LED_Driver_Channel_Set" is undefined Lamp_State[LED_ABS].Value = LED_Driver_Channel_Set;

时间: 2025-08-01 21:19:24 浏览: 6
<think>我们正在解决编译错误:identifier "LED_Driver_Channel_Set" is undefined。这个错误表明编译器在当前位置找不到`LED_Driver_Channel_Set`的定义。根据引用[1]和引用[2]提供的线索,我们可以从以下几个方面排查: ### 错误原因分析 1. **变量/函数未定义**:`LED_Driver_Channel_Set`可能是一个函数或变量,但未在当前编译单元(当前文件或包含的文件中)定义。 2. **声明缺失**:如果`LED_Driver_Channel_Set`在其他源文件中定义,但在当前文件使用前没有声明(使用`extern`),则会导致该错误(引用[1])。 3. **头文件未包含**:如果该标识符在某个头文件中声明,但当前源文件没有包含该头文件。 4. **宏定义缺失**:如果`LED_Driver_Channel_Set`是一个宏,可能没有包含定义它的头文件(引用[2]中类似问题)。 5. **拼写错误**:标识符名称拼写错误(包括大小写)也可能导致此问题。 ### 解决步骤 #### 1. **检查声明和定义** - 确保在使用`LED_Driver_Channel_Set`之前,有正确的声明或定义。 - 如果是在其他源文件中定义的,需要在当前文件顶部添加声明: ```c extern void LED_Driver_Channel_Set(uint8_t channel, uint8_t state); // 假设是函数 ``` 或者 ```c extern uint8_t LED_Driver_Channel_Set; // 如果是变量 ``` #### 2. **检查头文件** - 如果`LED_Driver_Channel_Set`在头文件中声明,确保包含该头文件: ```c #include "LED_Driver.h" // 替换为实际头文件名 ``` - 检查头文件中是否有正确的声明,例如: ```c // LED_Driver.h 中的声明 void LED_Driver_Channel_Set(uint8_t channel, uint8_t state); ``` #### 3. **检查定义位置** - 确认`LED_Driver_Channel_Set`是否在某个源文件中定义。例如: ```c // 在LED_Driver.c中定义 void LED_Driver_Channel_Set(uint8_t channel, uint8_t state) { // 实现代码 } ``` - 如果定义在源文件中,确保该源文件被编译并链接到目标程序中(检查工程配置,确保该文件在编译列表中)。 #### 4. **检查拼写和大小写** - C语言区分大小写,确保标识符的拼写和大小写完全一致。例如: - `LED_Driver_Channel_Set` 与 `LED_Driver_channel_set` 是不同的。 #### 5. **检查宏定义** - 如果`LED_Driver_Channel_Set`是一个宏,确保包含它的头文件已被包含: ```c #include "LED_Driver_Defs.h" // 假设宏定义在此头文件 ``` 并且在头文件中有类似: ```c #define LED_Driver_Channel_Set(ch, state) // ... 宏定义 ``` #### 6. **检查工程配置** - 确认定义`LED_Driver_Channel_Set`的模块(源文件)是否包含在工程中(如Makefile或IDE的工程文件)。 - 清理并重新编译整个工程(避免旧编译结果干扰): - 删除`build`目录或执行`make clean`(命令行) - 在IDE中执行`Clean Project`然后`Rebuild All` #### 7. **检查依赖关系** - 如果使用了条件编译(如`#ifdef`),确保定义了必要的宏: ```c #define USE_LED_DRIVER // 例如,在头文件中可能有条件编译 ``` ### 示例代码结构 假设我们有一个头文件`LED_Driver.h`: ```c // LED_Driver.h #ifndef LED_DRIVER_H #define LED_DRIVER_H #include <stdint.h> void LED_Driver_Channel_Set(uint8_t channel, uint8_t state); #endif ``` 源文件`LED_Driver.c`: ```c #include "LED_Driver.h" void LED_Driver_Channel_Set(uint8_t channel, uint8_t state) { // 具体实现 } ``` 使用该函数的文件(例如`main.c`): ```c #include "LED_Driver.h" // 包含声明 int main() { LED_Driver_Channel_Set(0, 1); // 正确使用 return 0; } ``` ### 相关问题 1. 如何在C语言中正确使用`extern`关键字? 2. 如何组织头文件以避免重复包含? 3. 如何排查链接阶段未定义的符号错误? 4. 条件编译(`#ifdef`)的使用方法和常见错误有哪些? 通过以上步骤,应该能够解决`LED_Driver_Channel_Set`未定义的问题。如果问题仍然存在,请检查工程配置和编译日志,确认相关源文件是否被正确编译和链接。</think>### C语言编译错误 `identifier "LED_Driver_Channel_Set" is undefined` 解决方案 这个错误表示编译器找不到 `LED_Driver_Channel_Set` 的定义,通常发生在函数或变量声明缺失时。以下是系统化的解决步骤: #### 1. **添加函数声明**(最常见原因) 在使用该函数前添加正确的声明: ```c /* 在调用LED_Driver_Channel_Set的文件顶部添加 */ extern void LED_Driver_Channel_Set(uint8_t channel, uint8_t state); ``` - `extern` 关键字表示该函数在其他文件中定义[^1] - 确保参数类型与实际定义完全匹配 #### 2. **检查头文件包含** 确认包含定义该函数的头文件: ```c #include "LED_Driver.h" // 包含函数声明的头文件 ``` - 在头文件中应有明确的声明: ```c // LED_Driver.h 内容 #pragma once void LED_Driver_Channel_Set(uint8_t channel, uint8_t state); ``` #### 3. **验证函数定义** 检查源文件中是否实际定义了该函数: ```c // LED_Driver.c 文件内容 void LED_Driver_Channel_Set(uint8_t channel, uint8_t state) { // 实现代码 GPIO_WritePin(LED_PORT[channel], state); } ``` - 确保定义文件已加入工程编译列表 - 检查函数名拼写是否一致(区分大小写) #### 4. **检查工程链接配置** 在IDE或Makefile中确认所有源文件正确链接: ```makefile # Makefile 示例 SRCS = main.c LED_Driver.c # 确保包含定义文件 OBJS = $(SRCS:.c=.o) app: $(OBJS) $(CC) -o $@ $^ ``` #### 5. **检查条件编译** 如果使用条件编译宏,确保启用相关模块: ```c // 在配置文件中启用 #define USE_LED_DRIVER 1 // 启用LED驱动模块 // 在头文件中 #if USE_LED_DRIVER void LED_Driver_Channel_Set(uint8_t, uint8_t); #endif ``` #### 6. **清理并重建工程** 1. 删除所有 `.o` 和 `.d` 中间文件 2. 执行完整重建(非增量编译) 3. 在IDE中选择 **Project → Clean → Rebuild All** ### 问题排查流程图 ```mermaid graph TD A[出现 LED_Driver_Channel_Set 未定义错误] --> B{是否包含声明?} B -->|否| C[添加 extern 声明或包含头文件] B -->|是| D{是否正确定义?} D -->|否| E[检查源文件实现] D -->|是| F{是否参与编译?} F -->|否| G[检查工程链接配置] F -->|是| H[检查条件编译宏] ``` ### 常见陷阱 1. **头文件循环包含** 避免头文件相互包含,使用 `#pragma once` 或 `#ifndef` 防护 2. **作用域错误** 在头文件中使用 `static` 函数会导致多副本问题 3. **C++混合编译** 如果被C++文件调用,使用 `extern "C"` 包裹声明: ```c #ifdef __cplusplus extern "C" { #endif void LED_Driver_Channel_Set(uint8_t, uint8_t); #ifdef __cplusplus } #endif ``` ### 相关问题 1. `extern` 关键字在C语言中有哪些使用场景? 2. 如何避免头文件重复包含导致的重定义错误? 3. Makefile中如何正确管理多文件依赖关系? 4. 条件编译宏 `#ifdef` 和 `#if defined()` 有什么区别? 5. C与C++混合编程时如何解决符号链接问题? [^1]: 引用外部定义变量的正确方法 [^2]: 宏未定义错误的排查思路 [^3]: 定时器中断与延时的协调处理 [^4]: Go模块版本语义控制
阅读全文

相关推荐

*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\Program files\keilv5\ARM\ARMCC\Bin' compiling file_edit.c... ..\sysFunction\file_edit.c(3): error: #20: identifier "FATFS" is undefined FATFS fs; ..\sysFunction\file_edit.c(7): error: #20: identifier "FRESULT" is undefined FRESULT res = f_mount(&fs, "0:", 1); // 挂载到根目录 ..\sysFunction\file_edit.c(7): warning: #223-D: function "f_mount" declared implicitly FRESULT res = f_mount(&fs, "0:", 1); // 挂载到根目录 ..\sysFunction\file_edit.c(8): error: #20: identifier "FR_OK" is undefined if (res != FR_OK) { ..\sysFunction\file_edit.c(9): warning: #223-D: function "printf" declared implicitly printf("文件系统挂载失败: %d\n", res); ..\sysFunction\file_edit.c(14): warning: #223-D: function "f_mkdir" declared implicitly res = f_mkdir("0:/sample"); ..\sysFunction\file_edit.c(15): error: #20: identifier "FR_OK" is undefined if (res != FR_OK && res != FR_EXIST) { ..\sysFunction\file_edit.c(15): error: #20: identifier "FR_EXIST" is undefined if (res != FR_OK && res != FR_EXIST) { ..\sysFunction\file_edit.c(16): warning: #223-D: function "printf" declared implicitly printf("目录创建失败: %d\n", res); ..\sysFunction\file_edit.c(22): error: #20: identifier "FIL" is undefined static FIL data_file; ..\sysFunction\file_edit.c(23): error: #20: identifier "UINT" is undefined static UINT data_count = 0; ..\sysFunction\file_edit.c(30): warning: #223-D: function "snprintf" declared implicitly snprintf(filename, sizeof(filename), ..\sysFunction\file_edit.c(32): error: #20: identifier "year" is undefined year, month, day, hour, minute, second); ..\sysFunction\file_edit.c(32): error: #20: identifier "month" is undefined year, month, day, hour, minute, second); ..\sysFunction\file_edit.c(32): error: #20: identifier "day" is undefined year, month, day, hour, minute, second); ..\sysFunction\file_edit.c(32): error: #20: identifier "hour" is undefined year, month, day, hour, minute, second); ..\sysFunction\file_edit.c(32): error: #20: identifier "minute" is undefined year, month, day, hour, minute, second); ..\sysFunction\file_edit.c(32): error: #20: identifier "second" is undefined year, month, day, hour, minute, second); ..\sysFunction\file_edit.c(35): error: #20: identifier "FRESULT" is undefined FRESULT res = f_open(&data_file, filename, ..\sysFunction\file_edit.c(35): warning: #223-D: function "f_open" declared implicitly FRESULT res = f_open(&data_file, filename, ..\sysFunction\file_edit.c(36): error: #20: identifier "FA_WRITE" is undefined FA_WRITE | FA_CREATE_ALWAYS); ..\sysFunction\file_edit.c(36): error: #20: identifier "FA_CREATE_ALWAYS" is undefined FA_WRITE | FA_CREATE_ALWAYS); ..\sysFunction\file_edit.c(37): error: #20: identifier "FR_OK" is undefined if (res != FR_OK) { ..\sysFunction\file_edit.c(38): warning: #223-D: function "printf" declared implicitly printf("文件打开失败 %s: %d\n", filename, res); ..\sysFunction\file_edit.c(44): warning: #223-D: function "snprintf" declared implicitly snprintf(data_line, sizeof(data_line), ..\sysFunction\file_edit.c(46): error: #20: identifier "year" is undefined year, month, day, hour, minute, second, vol_value); ..\sysFunction\file_edit.c(46): error: #20: identifier "month" is undefined year, month, day, hour, minute, second, vol_value); ..\sysFunction\file_edit.c(46): error: #20: identifier "day" is undefined year, month, day, hour, minute, second, vol_value); ..\sysFunction\file_edit.c(46): error: #20: identifier "hour" is undefined year, month, day, hour, minute, second, vol_value); ..\sysFunction\file_edit.c(46): error: #20: identifier "minute" is undefined year, month, day, hour, minute, second, vol_value); ..\sysFunction\file_edit.c(46): error: #20: identifier "second" is undefined year, month, day, hour, minute, second, vol_value); ..\sysFunction\file_edit.c(46): error: #20: identifier "vol_value" is undefined year, month, day, hour, minute, second, vol_value); ..\sysFunction\file_edit.c(49): error: #20: identifier "UINT" is undefined UINT bw; ..\sysFunction\file_edit.c(50): error: #20: identifier "FRESULT" is undefined FRESULT res = f_write(&data_file, data_line, strlen(data_line), &bw); ..\sysFunction\file_edit.c(50): warning: #223-D: function "f_write" declared implicitly FRESULT res = f_write(&data_file, data_line, strlen(data_line), &bw); ..\sysFunction\file_edit.c(50): warning: #223-D: function "strlen" declared implicitly FRESULT res = f_write(&data_file, data_line, strlen(data_line), &bw); ..\sysFunction\file_edit.c(51): error: #20: identifier "FR_OK" is undefined if (res != FR_OK || bw != strlen(data_line)) { ..\sysFunction\file_edit.c(52): warning: #223-D: function "printf" declared implicitly printf("数据写入失败: %d\n", res); ..\sysFunction\file_edit.c(54): warning: #223-D: function "f_sync" declared implicitly f_sync(&data_file); // 确保写入物理设备 ..\sysFunction\file_edit.c(59): warning: #223-D: function "f_close" declared implicitly f_close(&data_file); ..\sysFunction\file_edit.c(63): warning: #1-D: last line of file ends without a newline } ..\sysFunction\file_edit.c: 14 warnings, 27 errors "..\sysFunction\file_edit.c" - 27 Error(s), 14 Warning(s).

Build target 'Target 1' compiling main.c... ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(296): error: #20: identifier "HAL_StatusTypeDef" is undefined HAL_StatusTypeDef HAL_Init(void); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(297): error: #20: identifier "HAL_StatusTypeDef" is undefined HAL_StatusTypeDef HAL_DeInit(void); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(300): error: #20: identifier "HAL_StatusTypeDef" is undefined HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(300): error: #20: identifier "uint32_t" is undefined HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(310): error: #20: identifier "uint32_t" is undefined void HAL_Delay(uint32_t Delay); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(311): error: #20: identifier "uint32_t" is undefined uint32_t HAL_GetTick(void); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(312): error: #20: identifier "uint32_t" is undefined uint32_t HAL_GetTickPrio(void); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(313): error: #20: identifier "HAL_StatusTypeDef" is undefined HAL_StatusTypeDef HAL_SetTickFreq(HAL_TickFreqTypeDef Freq); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(317): error: #20: identifier "uint32_t" is undefined uint32_t HAL_GetHalVersion(void); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(318): error: #20: identifier "uint32_t" is undefined uint32_t HAL_GetREVID(void); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(319): error: #20: identifier "uint32_t" is undefined uint32_t HAL_GetDEVID(void); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(326): error: #20: identifier "uint32_t" is undefined void HAL_GetUID(uint32_t *UID); dht11.h(12): error: #20: identifier "GPIO_TypeDef" is undefined void DHT11_Init(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); dht11.h(12): error: #20: identifier "uint16_t" is undefined void DHT11_Init(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); dht11.h(13): error: #20: identifier "uint8_t" is undefined DHT11_Status DHT11_Read(uint8_t *temperature, uint8_t *humidity); dht11.h(13): error: #20: identifier "uint8_t" is undefined DHT11_Status DHT11_Read(uint8_t *temperature, uint8_t *humidity); main.c(9): error: #20: identifier "SPI_HandleTypeDef" is undefined extern SPI_HandleTypeDef hspi1; main.c(10): error: #20: identifier "TIM_HandleTypeDef" is undefined extern TIM_HandleTypeDef htim2; main.c(15): warning: #223-D: function "SystemClock_Config" declared implicitly SystemClock_Config(); main.c(16): warning: #223-D: function "MX_GPIO_Init" declared implicitly MX_GPIO_Init(); main.c(17): warning: #223-D: function "MX_SPI1_Init" declared implicitly MX_SPI1_Init(); // ??SPI??? main.c(18): warning: #223-D: function "MX_TIM2_Init" declared implicitly MX_TIM2_Init(); // ??TIM2??? main.c(24): error: #159: declaration is incompatible with previous "MX_TIM2_Init" (declared at line 18) static void MX_TIM2_Init(void) { main.c(25): error: #20: identifier "TIM_ClockConfigTypeDef" is undefined TIM_ClockConfigTypeDef sClockSourceConfig = {0}; main.c(26): error: #20: identifier "TIM_MasterConfigTypeDef" is undefined TIM_MasterConfigTypeDef sMasterConfig = {0}; main.c(28): error: #20: identifier "TIM2" is undefined htim2.Instance = TIM2; main.c(30): error: #20: identifier "TIM_COUNTERMODE_UP" is undefined htim2.Init.CounterMode = TIM_COUNTERMODE_UP; main.c(32): error: #20: identifier "TIM_CLOCKDIVISION_DIV1" is undefined htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; main.c(33): error: #20: identifier "TIM_AUTORELOAD_PRELOAD_DISABLE" is undefined htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; main.c(34): warning: #223-D: function "HAL_TIM_Base_Init" declared implicitly if (HAL_TIM_Base_Init(&htim2) != HAL_OK) { main.c(34): error: #20: identifier "HAL_OK" is undefined if (HAL_TIM_Base_Init(&htim2) != HAL_OK) { main.c(35): warning: #223-D: function "Error_Handler" declared implicitly Error_Handler(); main.c(37): error: #20: identifier "TIM_CLOCKSOURCE_INTERNAL" is undefined sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; main.c(38): warning: #223-D: function "HAL_TIM_ConfigClockSource" declared implicitly if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK) { main.c(38): error: #20: identifier "HAL_OK" is undefined if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK) { main.c(39): warning: #223-D: function "Error_Handler" declared implicitly Error_Handler(); main.c(41): error: #20: identifier "TIM_TRGO_RESET" is undefined sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; main.c(42): error: #20: identifier "TIM_MASTERSLAVEMODE_DISABLE" is undefined sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; main.c: 8 warnings, 30 errors compiling dht11.c... ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(296): error: #20: identifier "HAL_StatusTypeDef" is undefined HAL_StatusTypeDef HAL_Init(void); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(297): error: #20: identifier "HAL_StatusTypeDef" is undefined HAL_StatusTypeDef HAL_DeInit(void); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(300): error: #20: identifier "HAL_StatusTypeDef" is undefined HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(300): error: #20: identifier "uint32_t" is undefined HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(310): error: #20: identifier "uint32_t" is undefined void HAL_Delay(uint32_t Delay); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(311): error: #20: identifier "uint32_t" is undefined uint32_t HAL_GetTick(void); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(312): error: #20: identifier "uint32_t" is undefined uint32_t HAL_GetTickPrio(void); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(313): error: #20: identifier "HAL_StatusTypeDef" is undefined HAL_StatusTypeDef HAL_SetTickFreq(HAL_TickFreqTypeDef Freq); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(317): error: #20: identifier "uint32_t" is undefined uint32_t HAL_GetHalVersion(void); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(318): error: #20: identifier "uint32_t" is undefined uint32_t HAL_GetREVID(void); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(319): error: #20: identifier "uint32_t" is undefined uint32_t HAL_GetDEVID(void); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(326): error: #20: identifier "uint32_t" is undefined void HAL_GetUID(uint32_t *UID); dht11.h(12): error: #20: identifier "GPIO_TypeDef" is undefined void DHT11_Init(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); dht11.h(12): error: #20: identifier "uint16_t" is undefined void DHT11_Init(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin); dht11.h(13): error: #20: identifier "uint8_t" is undefined DHT11_Status DHT11_Read(uint8_t *temperature, uint8_t *humidity); dht11.h(13): error: #20: identifier "uint8_t" is undefined DHT11_Status DHT11_Read(uint8_t *temperature, uint8_t *humidity); dht11.c(7): warning: #223-D: function "__HAL_TIM_SET_COUNTER" declared implicitly __HAL_TIM_SET_COUNTER(&htim2, 0); dht11.c(7): error: #20: identifier "htim2" is undefined __HAL_TIM_SET_COUNTER(&htim2, 0); dht11.c(8): warning: #223-D: function "HAL_TIM_Base_Start" declared implicitly HAL_TIM_Base_Start(&htim2); dht11.c(9): warning: #223-D: function "__HAL_TIM_GET_COUNTER" declared implicitly while (__HAL_TIM_GET_COUNTER(&htim2) < us); dht11.c(10): warning: #223-D: function "HAL_TIM_Base_Stop" declared implicitly HAL_TIM_Base_Stop(&htim2); dht11.c(6): warning: #177-D: function "delay_us" was declared but never referenced static void delay_us(uint16_t us) { dht11.c: 5 warnings, 17 errors compiling buzzer.c... ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h(159): error: #35: #error directive: "Please select first the target STM32F1xx device used in your application (in stm32f1xx.h file)" #error "Please select first the target STM32F1xx device used in your application (in stm32f1xx.h file)" buzzer.c: 0 warnings, 1 error compiling TFT_GFX.c... ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(296): error: #20: identifier "HAL_StatusTypeDef" is undefined HAL_StatusTypeDef HAL_Init(void); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(297): error: #20: identifier "HAL_StatusTypeDef" is undefined HAL_StatusTypeDef HAL_DeInit(void); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(300): error: #20: identifier "HAL_StatusTypeDef" is undefined HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(300): error: #20: identifier "uint32_t" is undefined HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(310): error: #20: identifier "uint32_t" is undefined void HAL_Delay(uint32_t Delay); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(311): error: #20: identifier "uint32_t" is undefined uint32_t HAL_GetTick(void); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(312): error: #20: identifier "uint32_t" is undefined uint32_t HAL_GetTickPrio(void); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(313): error: #20: identifier "HAL_StatusTypeDef" is undefined HAL_StatusTypeDef HAL_SetTickFreq(HAL_TickFreqTypeDef Freq); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(317): error: #20: identifier "uint32_t" is undefined uint32_t HAL_GetHalVersion(void); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(318): error: #20: identifier "uint32_t" is undefined uint32_t HAL_GetREVID(void); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(319): error: #20: identifier "uint32_t" is undefined uint32_t HAL_GetDEVID(void); ..\STM32CubeF1\STM32Cube_FW_F1_V1.6.0\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h(326): error: #20: identifier "uint32_t" is undefined void HAL_GetUID(uint32_t *UID); TFT_GFX.c(2): error: #5: cannot open source input file "spi.h": No such file or directory #include "spi.h" TFT_GFX.c: 0 warnings, 13 errors compiling TFT_FONTS.c... TFT_FONTS.c(5): error: #20: identifier "Font8x16_Data" is undefined FontDef Font_8x16 = {8, 16, Font8x16_Data}; TFT_FONTS.c: 0 warnings, 1 error ".\Objects\zuoye.axf" - 62 Error(s), 13 Warning(s). Target not created. Build Time Elapsed: 00:00:01

*** Using Compiler 'V5.06 update 1 (build 61)', folder: 'D:\Keil_v5\ARM\ARMCC\Bin' Rebuild target 'ADC-DEMO' assembling startup_stm32f10x_md.s... compiling main.c... compiling led.c... compiling usart1.c... compiling delay.c... compiling dht11.c... dht11.c(18): warning: #188-D: enumerated type mixed with another type HT11_DQ_OUT(0); //拉??DQ dht11.c(20): warning: #188-D: enumerated type mixed with another type HT11_DQ_OUT(1); //DQ=1 dht11.c: 2 warnings, 0 errors compiling sys.c... compiling stm32f10x_it.c... compiling adc.c... adc.h(41): error: #20: identifier "ADC_HandleTypeDef" is undefined void adc_channel_set(ADC_HandleTypeDef *adc_handle, uint32_t ch,uint32_t rank, uint32_t stime); /* ADC通?????? */ adc.c(25): error: #20: identifier "ADC_HandleTypeDef" is undefined ADC_HandleTypeDef g_adc_handle; /* ADC?浔? */ adc.c(38): error: #20: identifier "ADC_DATAALIGN_RIGHT" is undefined g_adc_handle.Init.DataAlign = ADC_DATAALIGN_RIGHT; /* ?荻??敕?式:?叶??? */ adc.c(39): error: #20: identifier "ADC_SCAN_DISABLE" is undefined g_adc_handle.Init.ScanConvMode = ADC_SCAN_DISABLE; /* ??扫??模式,???玫?一??通?? */ adc.c(44): error: #20: identifier "ADC_SOFTWARE_START" is undefined g_adc_handle.Init.ExternalTrigConv = ADC_SOFTWARE_START; /* 触发转换方式:?砑シ? */ adc.c(45): warning: #223-D: function "HAL_ADC_Init" declared implicitly HAL_ADC_Init(&g_adc_handle); /* ??始化 */ adc.c(47): warning: #223-D: function "HAL_ADCEx_Calibration_Start" declared implicitly HAL_ADCEx_Calibration_Start(&g_adc_handle); /* 校准ADC */ adc.c(56): error: #20: identifier "ADC_HandleTypeDef" is undefined void HAL_ADC_MspInit(ADC_HandleTypeDef *hadc) adc.c(61): error: #20: identifier "RCC_PeriphCLKInitTypeDef" is undefined RCC_PeriphCLKInitTypeDef adc_clk_init = {0}; adc.c(63): warning: #223-D: function "__HAL_RCC_ADC1_CLK_ENABLE" declared implicitly DC_ADCX_CHY_CLK_ENABLE(); /* 使??ADCx时?? */ adc.c(64): warning: #223-D: function "__HAL_RCC_GPIOA_CLK_ENABLE" declared implicitly DC_ADCX_CHY_GPIO_CLK_ENABLE(); /* 开??GPIO时?? */ adc.c(67): error: #20: identifier "RCC_PERIPHCLK_ADC" is undefined adc_clk_init.PeriphClockSelection = RCC_PERIPHCLK_ADC; /* ADC????时?? */ adc.c(68): error: #20: identifier "RCC_ADCPCLK2_DIV6" is undefined adc_clk_init.AdcClockSelection = RCC_ADCPCLK2_DIV6; /* ??频????6时??为72M/6=12MHz */ adc.c(69): warning: #223-D: function "HAL_RCCEx_PeriphCLKConfig" declared implicitly HAL_RCCEx_PeriphCLKConfig(&adc_clk_init); /* ????ADC时?? */ adc.c(72): error: #136: struct "<unnamed>" has no field "Pin" gpio_init_struct.Pin = ADC_ADCX_CHY_GPIO_PIN; /* ADC通??IO?? */ adc.c(72): error: #20: identifier "GPIO_PIN_2" is undefined gpio_init_struct.Pin = DC_ADCX_CHY_GPIO_PIN; /* ADC通??IO?? */ adc.c(73): error: #136: struct "<unnamed>" has no field "Mode" gpio_init_struct.Mode = GPIO_MODE_ANALOG; /* 模?? */ adc.c(73): error: #20: identifier "GPIO_MODE_ANALOG" is undefined gpio_init_struct.Mode = GPIO_MODE_ANALOG; /* 模?? */ adc.c(74): warning: #223-D: function "HAL_GPIO_Init" declared implicitly HAL_GPIO_Init(ADC_ADCX_CHY_GPIO_PORT, &gpio_init_struct); adc.c(94): error: #20: identifier "ADC_HandleTypeDef" is undefined void adc_channel_set(ADC_HandleTypeDef *adc_handle, uint32_t ch, uint32_t rank, uint32_t stime) adc.c(96): error: #20: identifier "ADC_ChannelConfTypeDef" is undefined ADC_ChannelConfTypeDef adc_ch_conf; adc.c(101): warning: #223-D: function "HAL_ADC_ConfigChannel" declared implicitly HAL_ADC_ConfigChannel(adc_handle, &adc_ch_conf); /* 通?????? */ adc.c(111): error: #20: identifier "ADC_REGULAR_RANK_1" is undefined adc_channel_set(&g_adc_handle , ch, ADC_REGULAR_RANK_1, ADC_SAMPLETIME_239CYCLES_5); /* ????通?溃????泻筒???时?? */ adc.c(111): error: #20: identifier "ADC_SAMPLETIME_239CYCLES_5" is undefined adc_channel_set(&g_adc_handle , ch, ADC_REGULAR_RANK_1, ADC_SAMPLETIME_239CYCLES_5); /* ????通?溃????泻筒???时?? */ adc.c(113): warning: #223-D: function "HAL_ADC_Start" declared implicitly HAL_ADC_Start(&g_adc_handle); /* 开??ADC */ adc.c(114): warning: #223-D: function "HAL_ADC_PollForConversion" declared implicitly HAL_ADC_PollForConversion(&g_adc_handle, 10); /* ??询转换 */ adc.c(115): warning: #223-D: function "HAL_ADC_GetValue" declared implicitly return (uint16_t)HAL_ADC_GetValue(&g_adc_handle); /* 返???罱?一??ADC1?????榈?转换?峁? */ adc.c(132): warning: #223-D: function "delay_ms" declared implicitly delay_ms(5); adc.c: 11 warnings, 17 errors compiling atim.c... atim.h(44): error: #20: identifier "TIM_HandleTypeDef" is undefined extern TIM_HandleTypeDef g_timx_cplm_pwm_handle; /* 定时??x?浔? */ atim.c(26): error: #20: identifier "TIM_HandleTypeDef" is undefined TIM_HandleTypeDef g_timx_cplm_pwm_handle; /* 定时??x?浔? */ atim.c(46): error: #20: identifier "TIM_OC_InitTypeDef" is undefined TIM_OC_InitTypeDef tim_oc_cplm_pwm = {0}; atim.c(48): warning: #223-D: function "__HAL_RCC_TIM1_CLK_ENABLE" declared implicitly TIM_TIMX_CPLM_CLK_ENABLE(); /* TIMx 时??使?? */ atim.c(49): warning: #223-D: function "__HAL_RCC_GPIOA_CLK_ENABLE" declared implicitly TIM_TIMX_CPLM_CHY_GPIO_CLK_ENABLE(); /* 通??X??应IO??时??使?? */ atim.c(50): warning: #223-D: function "__HAL_RCC_GPIOB_CLK_ENABLE" declared implicitly TIM_TIMX_CPLM_CHYN_GPIO_CLK_ENABLE(); /* 通??X互补通?蓝?应IO??时??使?? */ atim.c(52): error: #136: struct "<unnamed>" has no field "Pin" gpio_init_struct.Pin = ATIM_TIMX_CPLM_CHY_GPIO_PIN; atim.c(52): error: #20: identifier "GPIO_PIN_8" is undefined gpio_init_struct.Pin = TIM_TIMX_CPLM_CHY_GPIO_PIN; atim.c(53): error: #136: struct "<unnamed>" has no field "Mode" gpio_init_struct.Mode = GPIO_MODE_AF_PP; atim.c(53): error: #20: identifier "GPIO_MODE_AF_PP" is undefined gpio_init_struct.Mode = GPIO_MODE_AF_PP; atim.c(54): error: #136: struct "<unnamed>" has no field "Pull" gpio_init_struct.Pull = GPIO_PULLDOWN; atim.c(54): error: #20: identifier "GPIO_PULLDOWN" is undefined gpio_init_struct.Pull = GPIO_PULLDOWN; atim.c(55): error: #136: struct "<unnamed>" has no field "Speed" gpio_init_struct.Speed = GPIO_SPEED_FREQ_HIGH ; atim.c(55): error: #20: identifier "GPIO_SPEED_FREQ_HIGH" is undefined gpio_init_struct.Speed = GPIO_SPEED_FREQ_HIGH ; atim.c(56): warning: #223-D: function "HAL_GPIO_Init" declared implicitly HAL_GPIO_Init(ATIM_TIMX_CPLM_CHY_GPIO_PORT, &gpio_init_struct); atim.c(58): error: #136: struct "<unnamed>" has no field "Pin" gpio_init_struct.Pin = ATIM_TIMX_CPLM_CHYN_GPIO_PIN; atim.c(58): error: #20: identifier "GPIO_PIN_13" is undefined gpio_init_struct.Pin = TIM_TIMX_CPLM_CHYN_GPIO_PIN; atim.c(63): error: #20: identifier "TIM_COUNTERMODE_UP" is undefined g_timx_cplm_pwm_handle.Init.CounterMode = TIM_COUNTERMODE_UP; /* ???黾???模式 */ atim.c(65): error: #20: identifier "TIM_CLOCKDIVISION_DIV4" is undefined g_timx_cplm_pwm_handle.Init.ClockDivision = TIM_CLOCKDIVISION_DIV4; /* CKD[1:0] = 10, tDTS = 4 * tCK_INT = Ft / 4 = 18Mhz */ atim.c(66): error: #20: identifier "TIM_AUTORELOAD_PRELOAD_ENABLE" is undefined g_timx_cplm_pwm_handle.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; /* 使??影?蛹拇???TIMx_ARR */ atim.c(67): warning: #223-D: function "HAL_TIM_PWM_Init" declared implicitly HAL_TIM_PWM_Init(&g_timx_cplm_pwm_handle); atim.c(69): error: #20: identifier "TIM_OCMODE_PWM1" is undefined tim_oc_cplm_pwm.OCMode = TIM_OCMODE_PWM1; /* PWM模式1 */ atim.c(70): error: #20: identifier "TIM_OCPOLARITY_HIGH" is undefined tim_oc_cplm_pwm.OCPolarity = TIM_OCPOLARITY_HIGH; /* OCy ?偷?平??效 */ atim.c(71): error: #20: identifier "TIM_OCNPOLARITY_HIGH" is undefined tim_oc_cplm_pwm.OCNPolarity = TIM_OCNPOLARITY_HIGH; /* OCyN ?偷?平??效 */ atim.c(72): error: #20: identifier "TIM_OCIDLESTATE_RESET" is undefined tim_oc_cplm_pwm.OCIdleState = TIM_OCIDLESTATE_RESET; /* 当MOE=0,OCx=1 */ atim.c(73): error: #20: identifier "TIM_OCNIDLESTATE_RESET" is undefined tim_oc_cplm_pwm.OCNIdleState = TIM_OCNIDLESTATE_RESET; /* 当MOE=0,OCxN=1 */ atim.c(75): warning: #223-D: function "HAL_TIM_PWM_ConfigChannel" declared implicitly HAL_TIM_PWM_ConfigChannel(&g_timx_cplm_pwm_handle, &tim_oc_cplm_pwm, ATIM_TIMX_CPLM_CHY); atim.c(75): error: #20: identifier "TIM_CHANNEL_1" is undefined HAL_TIM_PWM_ConfigChannel(&g_timx_cplm_pwm_handle, &tim_oc_cplm_pwm, TIM_TIMX_CPLM_CHY); atim.c(77): warning: #223-D: function "HAL_TIM_PWM_Start" declared implicitly HAL_TIM_PWM_Start(&g_timx_cplm_pwm_handle, ATIM_TIMX_CPLM_CHY); /* 使??OCy?涑? */ atim.c(78): warning: #223-D: function "HAL_TIMEx_PWMN_Start" declared implicitly HAL_TIMEx_PWMN_Start(&g_timx_cplm_pwm_handle, ATIM_TIMX_CPLM_CHY); /* 使??OCyN?涑? */ atim.c: 8 warnings, 22 errors compiling atk_fan.c... atim.h(44): error: #20: identifier "TIM_HandleTypeDef" is undefined extern TIM_HandleTypeDef g_timx_cplm_pwm_handle; /* 定时??x?浔? */ atk_fan.c(43): warning: #223-D: function "HAL_TIM_PWM_Stop" declared implicitly HAL_TIM_PWM_Stop(&g_timx_cplm_pwm_handle, TIM_CHANNEL_1); /* ?乇???通???涑? */ atk_fan.c(43): error: #20: identifier "TIM_CHANNEL_1" is undefined HAL_TIM_PWM_Stop(&g_timx_cplm_pwm_handle, TIM_CHANNEL_1); /* ?乇???通???涑? */ atk_fan.c(44): warning: #223-D: function "HAL_TIMEx_PWMN_Stop" declared implicitly HAL_TIMEx_PWMN_Stop(&g_timx_cplm_pwm_handle, TIM_CHANNEL_1); /* ?乇栈ゲ?通???涑? */ atk_fan.c(55): warning: #223-D: function "HAL_TIM_PWM_Stop" declared implicitly HAL_TIM_PWM_Stop(&g_timx_cplm_pwm_handle, TIM_CHANNEL_1); /* ?乇???通???涑? */ atk_fan.c(55): error: #20: identifier "TIM_CHANNEL_1" is undefined HAL_TIM_PWM_Stop(&g_timx_cplm_pwm_handle, TIM_CHANNEL_1); /* ?乇???通???涑? */ atk_fan.c(56): warning: #223-D: function "HAL_TIMEx_PWMN_Stop" declared implicitly HAL_TIMEx_PWMN_Stop(&g_timx_cplm_pwm_handle, TIM_CHANNEL_1); /* ?乇栈ゲ?通???涑? */ atk_fan.c(60): warning: #223-D: function "HAL_TIM_PWM_Start" declared implicitly HAL_TIM_PWM_Start(&g_timx_cplm_pwm_handle, TIM_CHANNEL_1); /* 开????通???涑? */ atk_fan.c(64): warning: #223-D: function "HAL_TIMEx_PWMN_Start" declared implicitly HAL_TIMEx_PWMN_Start(&g_timx_cplm_pwm_handle, TIM_CHANNEL_1); /* 开?艋ゲ?通???涑? */ atk_fan.c(75): warning: #223-D: function "__HAL_TIM_GetAutoreload" declared implicitly if (para < (__HAL_TIM_GetAutoreload(&g_timx_cplm_pwm_handle))) /* ???? */ atk_fan.c(77): warning: #223-D: function "__HAL_TIM_SetCompare" declared implicitly __HAL_TIM_SetCompare(&g_timx_cplm_pwm_handle, TIM_CHANNEL_1, para); atk_fan.c(77): error: #20: identifier "TIM_CHANNEL_1" is undefined __HAL_TIM_SetCompare(&g_timx_cplm_pwm_handle, TIM_CHANNEL_1, para); atk_fan.c: 8 warnings, 4 errors compiling atk_light.c... adc.h(41): error: #20: identifier "ADC_HandleTypeDef" is undefined void adc_channel_set(ADC_HandleTypeDef *adc_handle, uint32_t ch,uint32_t rank, uint32_t stime); /* ADC通?????? */ atk_light.c(33): warning: #223-D: function "__HAL_RCC_GPIOA_CLK_ENABLE" declared implicitly TK_LIGHT_DO_GPIO_CLK_ENABLE(); /* DO时??使?? */ atk_light.c(35): error: #136: struct "<unnamed>" has no field "Pin" gpio_init_struct.Pin = ATK_LIGHT_DO_GPIO_PIN; /* DO?? */ atk_light.c(35): error: #20: identifier "GPIO_PIN_3" is undefined gpio_init_struct.Pin = TK_LIGHT_DO_GPIO_PIN; /* DO?? */ atk_light.c(36): error: #136: struct "<unnamed>" has no field "Mode" gpio_init_struct.Mode = GPIO_MODE_INPUT; /* ???? */ atk_light.c(36): error: #20: identifier "GPIO_MODE_INPUT" is undefined gpio_init_struct.Mode = GPIO_MODE_INPUT; /* ???? */ atk_light.c(37): error: #136: struct "<unnamed>" has no field "Pull" gpio_init_struct.Pull = GPIO_NOPULL; /* ??????拉 */ atk_light.c(37): error: #20: identifier "GPIO_NOPULL" is undefined gpio_init_struct.Pull = GPIO_NOPULL; /* ??????拉 */ atk_light.c(38): warning: #223-D: function "HAL_GPIO_Init" declared implicitly HAL_GPIO_Init(ATK_LIGHT_DO_GPIO_PORT, &gpio_init_struct); /* DO?懦?始化 */ atk_light.c(51): error: #20: identifier "ADC_CHANNEL_2" is undefined temp_val = adc_get_result_average( DC_ADCX_CHY, 10); /* ??取平??值 */ atk_light.c: 2 warnings, 8 errors compiling stm32f10x_gpio.c... compiling stm32f10x_rcc.c... compiling stm32f10x_usart.c... compiling stm32f10x_adc.c... compiling stm32f10x_dma.c... compiling stm32f10x_flash.c... compiling stm32f10x_rtc.c... compiling misc.c... compiling stm32f10x_tim.c... compiling stm32f10x_exti.c... compiling core_cm3.c... compiling system_stm32f10x.c... ".\STM32-DEMO.axf" - 51 Error(s), 31 Warning(s). Target not created. Build Time Elapsed: 00:00:06

*** Using Compiler ‘V5.06 update 1 (build 61)’, folder: ‘D:\Keil_v5\ARM\ARMCC\Bin’ Rebuild target ‘ADC-DEMO’ assembling startup_stm32f10x_md.s… compiling main.c… compiling led.c… compiling usart1.c… compiling delay.c… compiling dht11.c… dht11.c(18): warning: #188-D: enumerated type mixed with another type HT11_DQ_OUT(0); //拉??DQ dht11.c(20): warning: #188-D: enumerated type mixed with another type HT11_DQ_OUT(1); //DQ=1 dht11.c: 2 warnings, 0 errors compiling sys.c… compiling stm32f10x_it.c… compiling adc.c… adc.h(41): error: #20: identifier “ADC_HandleTypeDef” is undefined void adc_channel_set(ADC_HandleTypeDef adc_handle, uint32_t ch,uint32_t rank, uint32_t stime); / ADC通??? / adc.c(25): error: #20: identifier “ADC_HandleTypeDef” is undefined ADC_HandleTypeDef g_adc_handle; / ADC?浔? / adc.c(38): error: #20: identifier “ADC_DATAALIGN_RIGHT” is undefined g_adc_handle.Init.DataAlign = ADC_DATAALIGN_RIGHT; / ?荻??敕?式:?叶??? / adc.c(39): error: #20: identifier “ADC_SCAN_DISABLE” is undefined g_adc_handle.Init.ScanConvMode = ADC_SCAN_DISABLE; / ??扫??模式,???玫?一??通?? / adc.c(44): error: #20: identifier “ADC_SOFTWARE_START” is undefined g_adc_handle.Init.ExternalTrigConv = ADC_SOFTWARE_START; / 触发转换方式:?砑シ? / adc.c(45): warning: #223-D: function “HAL_ADC_Init” declared implicitly HAL_ADC_Init(&g_adc_handle); / ??始化 / adc.c(47): warning: #223-D: function “HAL_ADCEx_Calibration_Start” declared implicitly HAL_ADCEx_Calibration_Start(&g_adc_handle); / 校准ADC */ adc.c(56): error: #20: identifier “ADC_HandleTypeDef” is undefined void HAL_ADC_MspInit(ADC_HandleTypeDef *hadc) adc.c(61): error: #20: identifier “RCC_PeriphCLKInitTypeDef” is undefined RCC_PeriphCLKInitTypeDef adc_clk_init = {0}; adc.c(63): warning: #223-D: function “__HAL_RCC_ADC1_CLK_ENABLE” declared implicitly DC_ADCX_CHY_CLK_ENABLE(); /* 使??ADCx时?? */ adc.c(64): warning: #223-D: function “__HAL_RCC_GPIOA_CLK_ENABLE” declared implicitly DC_ADCX_CHY_GPIO_CLK_ENABLE(); /* 开??GPIO时?? / adc.c(67): error: #20: identifier “RCC_PERIPHCLK_ADC” is undefined adc_clk_init.PeriphClockSelection = RCC_PERIPHCLK_ADC; / ADC???时?? / adc.c(68): error: #20: identifier “RCC_ADCPCLK2_DIV6” is undefined adc_clk_init.AdcClockSelection = RCC_ADCPCLK2_DIV6; / ??频???6时??为72M/6=12MHz / adc.c(69): warning: #223-D: function “HAL_RCCEx_PeriphCLKConfig” declared implicitly HAL_RCCEx_PeriphCLKConfig(&adc_clk_init); / ???ADC时?? / adc.c(72): error: #136: struct “” has no field “Pin” gpio_init_struct.Pin = ADC_ADCX_CHY_GPIO_PIN; / ADC通??IO?? / adc.c(72): error: #20: identifier “GPIO_PIN_2” is undefined gpio_init_struct.Pin = DC_ADCX_CHY_GPIO_PIN; / ADC通??IO?? / adc.c(73): error: #136: struct “” has no field “Mode” gpio_init_struct.Mode = GPIO_MODE_ANALOG; / 模?? / adc.c(73): error: #20: identifier “GPIO_MODE_ANALOG” is undefined gpio_init_struct.Mode = GPIO_MODE_ANALOG; / 模?? */ adc.c(74): warning: #223-D: function “HAL_GPIO_Init” declared implicitly HAL_GPIO_Init(ADC_ADCX_CHY_GPIO_PORT, &gpio_init_struct); adc.c(94): error: #20: identifier “ADC_HandleTypeDef” is undefined void adc_channel_set(ADC_HandleTypeDef adc_handle, uint32_t ch, uint32_t rank, uint32_t stime) adc.c(96): error: #20: identifier “ADC_ChannelConfTypeDef” is undefined ADC_ChannelConfTypeDef adc_ch_conf; adc.c(101): warning: #223-D: function “HAL_ADC_ConfigChannel” declared implicitly HAL_ADC_ConfigChannel(adc_handle, &adc_ch_conf); / 通??? / adc.c(111): error: #20: identifier “ADC_REGULAR_RANK_1” is undefined adc_channel_set(&g_adc_handle , ch, ADC_REGULAR_RANK_1, ADC_SAMPLETIME_239CYCLES_5); / ???通?溃???泻筒???时?? / adc.c(111): error: #20: identifier “ADC_SAMPLETIME_239CYCLES_5” is undefined adc_channel_set(&g_adc_handle , ch, ADC_REGULAR_RANK_1, ADC_SAMPLETIME_239CYCLES_5); / ???通?溃???泻筒???时?? / adc.c(113): warning: #223-D: function “HAL_ADC_Start” declared implicitly HAL_ADC_Start(&g_adc_handle); / 开??ADC / adc.c(114): warning: #223-D: function “HAL_ADC_PollForConversion” declared implicitly HAL_ADC_PollForConversion(&g_adc_handle, 10); / ??询转换 / adc.c(115): warning: #223-D: function “HAL_ADC_GetValue” declared implicitly return (uint16_t)HAL_ADC_GetValue(&g_adc_handle); / 返???罱?一??ADC1???榈?转换?峁? / adc.c(132): warning: #223-D: function “delay_ms” declared implicitly delay_ms(5); adc.c: 11 warnings, 17 errors compiling atim.c… atim.h(44): error: #20: identifier “TIM_HandleTypeDef” is undefined extern TIM_HandleTypeDef g_timx_cplm_pwm_handle; / 定时??x?浔? / atim.c(26): error: #20: identifier “TIM_HandleTypeDef” is undefined TIM_HandleTypeDef g_timx_cplm_pwm_handle; / 定时??x?浔? */ atim.c(46): error: #20: identifier “TIM_OC_InitTypeDef” is undefined TIM_OC_InitTypeDef tim_oc_cplm_pwm = {0}; atim.c(48): warning: #223-D: function “__HAL_RCC_TIM1_CLK_ENABLE” declared implicitly TIM_TIMX_CPLM_CLK_ENABLE(); /* TIMx 时??使?? */ atim.c(49): warning: #223-D: function “__HAL_RCC_GPIOA_CLK_ENABLE” declared implicitly TIM_TIMX_CPLM_CHY_GPIO_CLK_ENABLE(); /* 通??X??应IO??时??使?? */ atim.c(50): warning: #223-D: function “__HAL_RCC_GPIOB_CLK_ENABLE” declared implicitly TIM_TIMX_CPLM_CHYN_GPIO_CLK_ENABLE(); /* 通??X互补通?蓝?应IO??时??使?? / atim.c(52): error: #136: struct “” has no field “Pin” gpio_init_struct.Pin = ATIM_TIMX_CPLM_CHY_GPIO_PIN; atim.c(52): error: #20: identifier “GPIO_PIN_8” is undefined gpio_init_struct.Pin = TIM_TIMX_CPLM_CHY_GPIO_PIN; atim.c(53): error: #136: struct “” has no field “Mode” gpio_init_struct.Mode = GPIO_MODE_AF_PP; atim.c(53): error: #20: identifier “GPIO_MODE_AF_PP” is undefined gpio_init_struct.Mode = GPIO_MODE_AF_PP; atim.c(54): error: #136: struct “” has no field “Pull” gpio_init_struct.Pull = GPIO_PULLDOWN; atim.c(54): error: #20: identifier “GPIO_PULLDOWN” is undefined gpio_init_struct.Pull = GPIO_PULLDOWN; atim.c(55): error: #136: struct “” has no field “Speed” gpio_init_struct.Speed = GPIO_SPEED_FREQ_HIGH ; atim.c(55): error: #20: identifier “GPIO_SPEED_FREQ_HIGH” is undefined gpio_init_struct.Speed = GPIO_SPEED_FREQ_HIGH ; atim.c(56): warning: #223-D: function “HAL_GPIO_Init” declared implicitly HAL_GPIO_Init(ATIM_TIMX_CPLM_CHY_GPIO_PORT, &gpio_init_struct); atim.c(58): error: #136: struct “” has no field “Pin” gpio_init_struct.Pin = ATIM_TIMX_CPLM_CHYN_GPIO_PIN; atim.c(58): error: #20: identifier “GPIO_PIN_13” is undefined gpio_init_struct.Pin = TIM_TIMX_CPLM_CHYN_GPIO_PIN; atim.c(63): error: #20: identifier “TIM_COUNTERMODE_UP” is undefined g_timx_cplm_pwm_handle.Init.CounterMode = TIM_COUNTERMODE_UP; / ???黾???模式 / atim.c(65): error: #20: identifier “TIM_CLOCKDIVISION_DIV4” is undefined g_timx_cplm_pwm_handle.Init.ClockDivision = TIM_CLOCKDIVISION_DIV4; / CKD[1:0] = 10, tDTS = 4 * tCK_INT = Ft / 4 = 18Mhz / atim.c(66): error: #20: identifier “TIM_AUTORELOAD_PRELOAD_ENABLE” is undefined g_timx_cplm_pwm_handle.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; / 使??影?蛹拇???TIMx_ARR / atim.c(67): warning: #223-D: function “HAL_TIM_PWM_Init” declared implicitly HAL_TIM_PWM_Init(&g_timx_cplm_pwm_handle); atim.c(69): error: #20: identifier “TIM_OCMODE_PWM1” is undefined tim_oc_cplm_pwm.OCMode = TIM_OCMODE_PWM1; / PWM模式1 / atim.c(70): error: #20: identifier “TIM_OCPOLARITY_HIGH” is undefined tim_oc_cplm_pwm.OCPolarity = TIM_OCPOLARITY_HIGH; / OCy ?偷?平??效 / atim.c(71): error: #20: identifier “TIM_OCNPOLARITY_HIGH” is undefined tim_oc_cplm_pwm.OCNPolarity = TIM_OCNPOLARITY_HIGH; / OCyN ?偷?平??效 / atim.c(72): error: #20: identifier “TIM_OCIDLESTATE_RESET” is undefined tim_oc_cplm_pwm.OCIdleState = TIM_OCIDLESTATE_RESET; / 当MOE=0,OCx=1 / atim.c(73): error: #20: identifier “TIM_OCNIDLESTATE_RESET” is undefined tim_oc_cplm_pwm.OCNIdleState = TIM_OCNIDLESTATE_RESET; / 当MOE=0,OCxN=1 / atim.c(75): warning: #223-D: function “HAL_TIM_PWM_ConfigChannel” declared implicitly HAL_TIM_PWM_ConfigChannel(&g_timx_cplm_pwm_handle, &tim_oc_cplm_pwm, ATIM_TIMX_CPLM_CHY); atim.c(75): error: #20: identifier “TIM_CHANNEL_1” is undefined HAL_TIM_PWM_ConfigChannel(&g_timx_cplm_pwm_handle, &tim_oc_cplm_pwm, TIM_TIMX_CPLM_CHY); atim.c(77): warning: #223-D: function “HAL_TIM_PWM_Start” declared implicitly HAL_TIM_PWM_Start(&g_timx_cplm_pwm_handle, ATIM_TIMX_CPLM_CHY); / 使??OCy?涑? / atim.c(78): warning: #223-D: function “HAL_TIMEx_PWMN_Start” declared implicitly HAL_TIMEx_PWMN_Start(&g_timx_cplm_pwm_handle, ATIM_TIMX_CPLM_CHY); / 使??OCyN?涑? / atim.c: 8 warnings, 22 errors compiling atk_fan.c… atim.h(44): error: #20: identifier “TIM_HandleTypeDef” is undefined extern TIM_HandleTypeDef g_timx_cplm_pwm_handle; / 定时??x?浔? / atk_fan.c(43): warning: #223-D: function “HAL_TIM_PWM_Stop” declared implicitly HAL_TIM_PWM_Stop(&g_timx_cplm_pwm_handle, TIM_CHANNEL_1); / ?乇???通???涑? / atk_fan.c(43): error: #20: identifier “TIM_CHANNEL_1” is undefined HAL_TIM_PWM_Stop(&g_timx_cplm_pwm_handle, TIM_CHANNEL_1); / ?乇???通???涑? / atk_fan.c(44): warning: #223-D: function “HAL_TIMEx_PWMN_Stop” declared implicitly HAL_TIMEx_PWMN_Stop(&g_timx_cplm_pwm_handle, TIM_CHANNEL_1); / ?乇栈ゲ?通???涑? / atk_fan.c(55): warning: #223-D: function “HAL_TIM_PWM_Stop” declared implicitly HAL_TIM_PWM_Stop(&g_timx_cplm_pwm_handle, TIM_CHANNEL_1); / ?乇???通???涑? / atk_fan.c(55): error: #20: identifier “TIM_CHANNEL_1” is undefined HAL_TIM_PWM_Stop(&g_timx_cplm_pwm_handle, TIM_CHANNEL_1); / ?乇???通???涑? / atk_fan.c(56): warning: #223-D: function “HAL_TIMEx_PWMN_Stop” declared implicitly HAL_TIMEx_PWMN_Stop(&g_timx_cplm_pwm_handle, TIM_CHANNEL_1); / ?乇栈ゲ?通???涑? / atk_fan.c(60): warning: #223-D: function “HAL_TIM_PWM_Start” declared implicitly HAL_TIM_PWM_Start(&g_timx_cplm_pwm_handle, TIM_CHANNEL_1); / 开???通???涑? / atk_fan.c(64): warning: #223-D: function “HAL_TIMEx_PWMN_Start” declared implicitly HAL_TIMEx_PWMN_Start(&g_timx_cplm_pwm_handle, TIM_CHANNEL_1); / 开?艋ゲ?通???涑? / atk_fan.c(75): warning: #223-D: function “__HAL_TIM_GetAutoreload” declared implicitly if (para < (__HAL_TIM_GetAutoreload(&g_timx_cplm_pwm_handle))) / ??? */ atk_fan.c(77): warning: #223-D: function “__HAL_TIM_SetCompare” declared implicitly __HAL_TIM_SetCompare(&g_timx_cplm_pwm_handle, TIM_CHANNEL_1, para); atk_fan.c(77): error: #20: identifier “TIM_CHANNEL_1” is undefined __HAL_TIM_SetCompare(&g_timx_cplm_pwm_handle, TIM_CHANNEL_1, para); atk_fan.c: 8 warnings, 4 errors compiling atk_light.c… adc.h(41): error: #20: identifier “ADC_HandleTypeDef” is undefined void adc_channel_set(ADC_HandleTypeDef adc_handle, uint32_t ch,uint32_t rank, uint32_t stime); / ADC通??? */ atk_light.c(33): warning: #223-D: function “__HAL_RCC_GPIOA_CLK_ENABLE” declared implicitly TK_LIGHT_DO_GPIO_CLK_ENABLE(); /* DO时??使?? / atk_light.c(35): error: #136: struct “” has no field “Pin” gpio_init_struct.Pin = ATK_LIGHT_DO_GPIO_PIN; / DO?? / atk_light.c(35): error: #20: identifier “GPIO_PIN_3” is undefined gpio_init_struct.Pin = TK_LIGHT_DO_GPIO_PIN; / DO?? / atk_light.c(36): error: #136: struct “” has no field “Mode” gpio_init_struct.Mode = GPIO_MODE_INPUT; / ??? / atk_light.c(36): error: #20: identifier “GPIO_MODE_INPUT” is undefined gpio_init_struct.Mode = GPIO_MODE_INPUT; / ??? / atk_light.c(37): error: #136: struct “” has no field “Pull” gpio_init_struct.Pull = GPIO_NOPULL; / ???拉 / atk_light.c(37): error: #20: identifier “GPIO_NOPULL” is undefined gpio_init_struct.Pull = GPIO_NOPULL; / ???拉 / atk_light.c(38): warning: #223-D: function “HAL_GPIO_Init” declared implicitly HAL_GPIO_Init(ATK_LIGHT_DO_GPIO_PORT, &gpio_init_struct); / DO?懦?始化 / atk_light.c(51): error: #20: identifier “ADC_CHANNEL_2” is undefined temp_val = adc_get_result_average( DC_ADCX_CHY, 10); / ??取平??值 */ atk_light.c: 2 warnings, 8 errors compiling stm32f10x_gpio.c… compiling stm32f10x_rcc.c… compiling stm32f10x_usart.c… compiling stm32f10x_adc.c… compiling stm32f10x_dma.c… compiling stm32f10x_flash.c… compiling stm32f10x_rtc.c… compiling misc.c… compiling stm32f10x_tim.c… compiling stm32f10x_exti.c… compiling core_cm3.c… compiling system_stm32f10x.c… “.\STM32-DEMO.axf” - 51 Error(s), 31 Warning(s). Target not created. Build Time Elapsed: 00:00:06

FWLIB\src\stm32f4xx_fsmc.c(130): error: #20: identifier "FSMC_Bank1" is undefined FSMC_Bank1->BTCR[FSMC_Bank] = 0x000030DB; FWLIB\src\stm32f4xx_fsmc.c(135): error: #20: identifier "FSMC_Bank1" is undefined FSMC_Bank1->BTCR[FSMC_Bank] = 0x000030D2; FWLIB\src\stm32f4xx_fsmc.c(137): error: #20: identifier "FSMC_Bank1" is undefined FSMC_Bank1->BTCR[FSMC_Bank + 1] = 0x0FFFFFFF; FWLIB\src\stm32f4xx_fsmc.c(138): error: #20: identifier "FSMC_Bank1E" is undefined FSMC_Bank1E->BWTR[FSMC_Bank] = 0x0FFFFFFF; FWLIB\src\stm32f4xx_fsmc.c(176): error: #20: identifier "FSMC_Bank1" is undefined tmpbcr = FSMC_Bank1->BTCR[FSMC_NORSRAMInitStruct->FSMC_Bank]; FWLIB\src\stm32f4xx_fsmc.c(180): error: #20: identifier "FSMC_BCR1_MBKEN" is undefined tmpbcr &= ((uint32_t)~(FSMC_BCR1_MBKEN | FSMC_BCR1_MUXEN | FSMC_BCR1_MTYP | \ FWLIB\src\stm32f4xx_fsmc.c(180): error: #20: identifier "FSMC_BCR1_MUXEN" is undefined tmpbcr &= ((uint32_t)~(FSMC_BCR1_MBKEN | FSMC_BCR1_MUXEN | FSMC_BCR1_MTYP | \ FWLIB\src\stm32f4xx_fsmc.c(180): error: #20: identifier "FSMC_BCR1_MTYP" is undefined tmpbcr &= ((uint32_t)~(FSMC_BCR1_MBKEN | FSMC_BCR1_MUXEN | FSMC_BCR1_MTYP | \ FWLIB\src\stm32f4xx_fsmc.c(181): error: #20: identifier "FSMC_BCR1_MWID" is undefined FSMC_BCR1_MWID | FSMC_BCR1_FACCEN | FSMC_BCR1_BURSTEN | \ FWLIB\src\stm32f4xx_fsmc.c(181): error: #20: identifier "FSMC_BCR1_FACCEN" is undefined FSMC_BCR1_MWID | FSMC_BCR1_FACCEN | FSMC_BCR1_BURSTEN | \ FWLIB\src\stm32f4xx_fsmc.c(181): error: #20: identifier "FSMC_BCR1_BURSTEN" is undefined FSMC_BCR1_MWID | FSMC_BCR1_FACCEN | FSMC_BCR1_BURSTEN | \ FWLIB\src\stm32f4xx_fsmc.c(182): error: #20: identifier "FSMC_BCR1_WAITPOL" is undefined FSMC_BCR1_WAITPOL | FSMC_BCR1_WRAPMOD | FSMC_BCR1_WAITCFG | \ FWLIB\src\stm32f4xx_fsmc.c(182): error: #20: identifier "FSMC_BCR1_WRAPMOD" is undefined FSMC_BCR1_WAITPOL | FSMC_BCR1_WRAPMOD | FSMC_BCR1_WAITCFG | \ FWLIB\src\stm32f4xx_fsmc.c(182): error: #20: identifier "FSMC_BCR1_WAITCFG" is undefined FSMC_BCR1_WAITPOL | FSMC_BCR1_WRAPMOD | FSMC_BCR1_WAITCFG | \ FWLIB\src\stm32f4xx_fsmc.c(183): error: #20: identifier "FSMC_BCR1_WREN" is undefined FSMC_BCR1_WREN | FSMC_BCR1_WAITEN | FSMC_BCR1_EXTMOD | \ FWLIB\src\stm32f4xx_fsmc.c(183): error: #20: identifier "FSMC_BCR1_WAITEN" is undefined FSMC_BCR1_WREN | FSMC_BCR1_WAITEN | FSMC_BCR1_EXTMOD | \ FWLIB\src\stm32f4xx_fsmc.c(183): error: #20: identifier "FSMC_BCR1_EXTMOD" is undefined FSMC_BCR1_WREN | FSMC_BCR1_WAITEN | FSMC_BCR1_EXTMOD | \ FWLIB\src\stm32f4xx_fsmc.c(184): error: #20: identifier "FSMC_BCR1_ASYNCWAIT" is undefined FSMC_BCR1_ASYNCWAIT | FSMC_BCR1_CBURSTRW)); FWLIB\src\stm32f4xx_fsmc.c(184): error: #20: identifier "FSMC_BCR1_CBURSTRW" is undefined FSMC_BCR1_ASYNCWAIT | FSMC_BCR1_CBURSTRW)); FWLIB\src\stm32f4xx_fsmc.c(211): error: #20: identifier "FSMC_BTR1_ADDSET" is undefined tmpbtr &= ((uint32_t)~(FSMC_BTR1_ADDSET | FSMC_BTR1_ADDHLD | FSMC_BTR1_DATAST | \ FWLIB\src\stm32f4xx_fsmc.c(211): error: #20: identifier "FSMC_BTR1_ADDHLD" is undefined tmpbtr &= ((uint32_t)~(FSMC_BTR1_ADDSET | FSMC_BTR1_ADDHLD | FSMC_BTR1_DATAST | \ FWLIB\src\stm32f4xx_fsmc.c(211): error: #20: identifier "FSMC_BTR1_DATAST" is undefined tmpbtr &= ((uint32_t)~(FSMC_BTR1_ADDSET | FSMC_BTR1_ADDHLD | FSMC_BTR1_DATAST | \ FWLIB\src\stm32f4xx_fsmc.c(212): error: #20: identifier "FSMC_BTR1_BUSTURN" is undefined FSMC_BTR1_BUSTURN | FSMC_BTR1_CLKDIV | FSMC_BTR1_DATLAT | \ FWLIB\src\stm32f4xx_fsmc.c(212): error: #20: identifier "FSMC_BTR1_CLKDIV" is undefined FSMC_BTR1_BUSTURN | FSMC_BTR1_CLKDIV | FSMC_BTR1_DATLAT | \ FWLIB\src\stm32f4xx_fsmc.c(212): error: #20: identifier "FSMC_BTR1_DATLAT" is undefined FSMC_BTR1_BUSTURN | FSMC_BTR1_CLKDIV | FSMC_BTR1_DATLAT | \ FWLIB\src\stm32f4xx_fsmc.c(213): error: #20: identifier "FSMC_BTR1_ACCMOD" is undefined FSMC_BTR1_ACCMOD)); FWLIB\src\stm32f4xx_fsmc.c(236): error: #20: identifier "FSMC_Bank1E" is undefined tmpbwr = FSMC_Bank1E->BWTR[FSMC_NORSRAMInitStruct->FSMC_Bank]; FWLIB\src\stm32f4xx_fsmc.c(239): error: #20: identifier "FSMC_BWTR1_ADDSET" is undefined tmpbwr &= ((uint32_t)~(FSMC_BWTR1_ADDSET | FSMC_BWTR1_ADDHLD | FSMC_BWTR1_DATAST | \ FWLIB\src\stm32f4xx_fsmc.c(239): error: #20: identifier "FSMC_BWTR1_ADDHLD" is undefined tmpbwr &= ((uint32_t)~(FSMC_BWTR1_ADDSET | FSMC_BWTR1_ADDHLD | FSMC_BWTR1_DATAST | \ FWLIB\src\stm32f4xx_fsmc.c(239): error: #20: identifier "FSMC_BWTR1_DATAST" is undefined tmpbwr &= ((uint32_t)~(FSMC_BWTR1_ADDSET | FSMC_BWTR1_ADDHLD | FSMC_BWTR1_DATAST | \

*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'D:\Keil_v5\ARM\ARMCC\Bin' Build target 'Target 1' compiling PWM.c... Hardware\common.h(6): error: #101: "RESET" has already been declared in the current scope typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus; Hardware\common.h(6): error: #101: "SET" has already been declared in the current scope typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus; Hardware\common.h(6): error: #256: invalid redeclaration of type name "FlagStatus" (declared at line 519 of ".\Start\stm32f10x.h") typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus; Hardware\common.h(6): error: #256: invalid redeclaration of type name "ITStatus" (declared at line 519 of ".\Start\stm32f10x.h") typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus; Hardware\common.h(8): error: #101: "DISABLE" has already been declared in the current scope typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState; Hardware\common.h(8): error: #101: "ENABLE" has already been declared in the current scope typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState; Hardware\common.h(8): error: #256: invalid redeclaration of type name "FunctionalState" (declared at line 521 of ".\Start\stm32f10x.h") typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState; Hardware\PWM.c: 0 warnings, 7 errors compiling Buzzer.c... Hardware\Buzzer.c(28): error: #20: identifier "KEY_S2" is undefined if(key_val == KEY_S2) { Hardware\Buzzer.c(36): warning: #223-D: function "HAL_GetTick" declared implicitly if(buzzerState && (HAL_GetTick() - lastToggle > 500)) { Hardware\Buzzer.c(38): warning: #223-D: function "GPIO_ToggleBits" declared implicitly GPIO_ToggleBits(BUZZER_PORT, BUZZER_PIN); // 鍒囨崲鐘舵€? Hardware\Buzzer.c: 2 warnings, 1 error compiling LightSensor.c... Hardware\LightSensor.c(2): error: #5: cannot open source input file "light_sensor.h": No such file or directory #include "light_sensor.h" Hardware\LightSensor.c: 0 warnings, 1 error compiling OLED.c... Hardware\OLED.c(3): error: #5: cannot open source input file "light_sensor.h": No such file or directory #include "light_sensor.h" Hardware\OLED.c: 0 warnings, 1 error compiling main.c... .\Hardware\lightsensor.h(3): error: #3: #include file ".\Hardware\lightsensor.h" includes itself #include "lightsensor.h" // 去掉下划线[^1] User\main.c: 0 warnings, 1 error compiling Key.c... Hardware\Key.c(13): error: #20: identifier "KEY_S0_PIN" is undefined GPIO_InitStructure.GPIO_Pin = KEY_S0_PIN; Hardware\Key.c(15): error: #20: identifier "KEY_S0_PORT" is undefined GPIO_Init(KEY_S0_PORT, &GPIO_InitStructure); Hardware\Key.c(18): error: #20: identifier "KEY_S1_PIN" is undefined GPIO_InitStructure.GPIO_Pin = KEY_S1_PIN; Hardware\Key.c(19): error: #20: identifier "KEY_S1_PORT" is undefined GPIO_Init(KEY_S1_PORT, &GPIO_InitStructure); Hardware\Key.c(22): error: #20: identifier "KEY_S2_PIN" is undefined GPIO_InitStructure.GPIO_Pin = KEY_S2_PIN; Hardware\Key.c(23): error: #20: identifier "KEY_S2_PORT" is undefined GPIO_Init(KEY_S2_PORT, &GPIO_InitStructure); Hardware\Key.c(26): error: #20: identifier "KEY_S3_PIN" is undefined GPIO_InitStructure.GPIO_Pin = KEY_S3_PIN; Hardware\Key.c(27): error: #20: identifier "KEY_S3_PORT" is undefined GPIO_Init(KEY_S3_PORT, &GPIO_InitStructure); Hardware\Key.c(34): error: #20: identifier "KEY_S0_PORT" is undefined if(key_up && (GPIO_ReadInputDataBit(KEY_S0_PORT, KEY_S0_PIN) == Bit_SET || Hardware\Key.c(34): error: #20: identifier "KEY_S0_PIN" is undefined if(key_up && (GPIO_ReadInputDataBit(KEY_S0_PORT, KEY_S0_PIN) == Bit_SET || Hardware\Key.c(35): error: #20: identifier "KEY_S1_PORT" is undefined GPIO_ReadInputDataBit(KEY_S1_PORT, KEY_S1_PIN) == Bit_SET || Hardware\Key.c(35): error: #20: identifier "KEY_S1_PIN" is undefined GPIO_ReadInputDataBit(KEY_S1_PORT, KEY_S1_PIN) == Bit_SET || Hardware\Key.c(36): error: #20: identifier "KEY_S2_PORT" is undefined GPIO_ReadInputDataBit(KEY_S2_PORT, KEY_S2_PIN) == Bit_SET || Hardware\Key.c(36): error: #20: identifier "KEY_S2_PIN" is undefined GPIO_ReadInputDataBit(KEY_S2_PORT, KEY_S2_PIN) == Bit_SET || Hardware\Key.c(37): error: #20: identifier "KEY_S3_PORT" is undefined GPIO_ReadInputDataBit(KEY_S3_PORT, KEY_S3_PIN) == Bit_SET)) { Hardware\Key.c(37): error: #20: identifier "KEY_S3_PIN" is undefined GPIO_ReadInputDataBit(KEY_S3_PORT, KEY_S3_PIN) == Bit_SET)) { Hardware\Key.c(38): warning: #223-D: function "Delay_ms" declared implicitly Delay_ms(10); // 娑堟姈寤舵椂 Hardware\Key.c(48): error: #20: identifier "KEY_S3" is undefined return KEY_S3; Hardware\Key.c(57): error: #20: identifier "KEY_NONE" is undefined return KEY_NONE; Hardware\Key.c: 1 warning, 18 errors compiling LED.c... Hardware\LED.c(7): error: #20: identifier "LED_FlowMode" is undefined static LED_FlowMode flowMode = LED_FLOW_OFF; Hardware\LED.c(9): error: #20: identifier "BREATH_OFF" is undefined static BreathState breathState = BREATH_OFF; Hardware\LED.c(23): error: #20: identifier "LED_PINS" is undefined GPIO_InitStructure.GPIO_Pin = LED_PINS; Hardware\LED.c(37): error: #20: identifier "KEY_S0" is undefined if(key_val == KEY_S0) { Hardware\LED.c(40): error: #20: identifier "LED_PINS" is undefined GPIO_SetBits(LED_PORT, LED_PINS); // 鍏抽棴鎵€鏈塋ED Hardware\LED.c(47): error: #20: identifier "LED_FLOW_FORWARD" is undefined case LED_FLOW_FORWARD: OLED_ShowString(72, 0, "FWD"); break; Hardware\LED.c(48): error: #20: identifier "LED_FLOW_BACKWARD" is undefined case LED_FLOW_BACKWARD: OLED_ShowString(72, 0, "REV"); break; Hardware\LED.c(53): error: #20: identifier "KEY_S1" is undefined if(key_val == KEY_S1) { Hardware\LED.c(54): warning: #188-D: enumerated type mixed with another type breathState = (breathState + 1) % 3; Hardware\LED.c(61): error: #20: identifier "LED_PINS" is undefined GPIO_SetBits(LED_PORT, LED_PINS); // 鍏抽棴LED Hardware\LED.c(63): error: #20: identifier "BREATH_ON" is undefined case BREATH_ON: Hardware\LED.c(67): error: #20: identifier "BREATH_FULL" is undefined case BREATH_FULL: Hardware\LED.c(75): warning: #223-D: function "HAL_GetTick" declared implicitly if(flowMode != LED_FLOW_OFF && (HAL_GetTick() - lastUpdate > 200)) { Hardware\LED.c(79): error: #20: identifier "LED_PINS" is undefined GPIO_SetBits(LED_PORT, LED_PINS); Hardware\LED.c(82): error: #20: identifier "LED_FLOW_FORWARD" is undefined if(flowMode == LED_FLOW_FORWARD) { Hardware\LED.c(93): error: #20: identifier "BREATH_ON" is undefined if(breathState == BREATH_ON && (HAL_GetTick() - lastUpdate > 10)) { Hardware\LED.c(93): warning: #223-D: function "HAL_GetTick" declared implicitly if(breathState == BREATH_ON && (HAL_GetTick() - lastUpdate > 10)) { Hardware\LED.c(34): warning: #177-D: variable "flowDir" was declared but never referenced static uint8_t flowDir = 0; // 0:宸︹啋鍙? 1:鍙斥啋宸? Hardware\LED.c: 4 warnings, 14 errors ".\Objects\Project.axf" - 43 Error(s), 7 Warning(s). Target not created.所有要修改的模块

*** Using Compiler 'V5.06 update 5 (build 528)', folder: 'D:\Keil_v5\ARM\ARMCC\Bin' Rebuild target 'Target 1' assembling startup_stm32f10x_md.s... compiling core_cm3.c... compiling stm32f10x_it.c... compiling main.c... User\main.c(3): error: #5: cannot open source input file "ssd1306.h": No such file or directory #include "ssd1306.h" User\main.c: 0 warnings, 1 error compiling dht11.c... User\dht11.c(12): error: #20: identifier "GPIO_PIN_0" is undefined .Pin = HT11_PIN, User\dht11.c(13): error: #20: identifier "GPIO_MODE_OUTPUT_OD" is undefined .Mode = GPIO_MODE_OUTPUT_OD, User\dht11.c(14): error: #20: identifier "GPIO_PULLUP" is undefined .Pull = GPIO_PULLUP, User\dht11.c(15): error: #20: identifier "GPIO_SPEED_FREQ_LOW" is undefined .Speed = GPIO_SPEED_FREQ_LOW User\dht11.c(12): error: #136: struct "<unnamed>" has no field "Pin" .Pin = DHT11_PIN, User\dht11.c(17): warning: #223-D: function "HAL_GPIO_Init" declared implicitly HAL_GPIO_Init(DHT11_PORT, &GPIO_InitStruct); User\dht11.c(18): warning: #223-D: function "HAL_GPIO_WritePin" declared implicitly HAL_GPIO_WritePin(DHT11_PORT, DHT11_PIN, GPIO_PIN_SET); User\dht11.c(18): error: #20: identifier "GPIO_PIN_SET" is undefined HAL_GPIO_WritePin( HT11_PORT, HT11_PIN, GPIO_PIN_SET); User\dht11.c(27): warning: #223-D: function "HAL_GPIO_WritePin" declared implicitly HAL_GPIO_WritePin(DHT11_PORT, DHT11_PIN, GPIO_PIN_RESET); User\dht11.c(27): error: #20: identifier "GPIO_PIN_0" is undefined HAL_GPIO_WritePin( HT11_PORT, HT11_PIN, GPIO_PIN_RESET); User\dht11.c(27): error: #20: identifier "GPIO_PIN_RESET" is undefined HAL_GPIO_WritePin( HT11_PORT, HT11_PIN, GPIO_PIN_RESET); User\dht11.c(29): error: #20: identifier "GPIO_PIN_SET" is undefined HAL_GPIO_WritePin( HT11_PORT, HT11_PIN, GPIO_PIN_SET); User\dht11.c(35): error: #20: identifier "GPIO_MODE_INPUT" is undefined .Mode = GPIO_MODE_INPUT, User\dht11.c(36): error: #20: identifier "GPIO_PULLUP" is undefined .Pull = GPIO_PULLUP User\dht11.c(34): error: #136: struct "<unnamed>" has no field "Pin" .Pin = DHT11_PIN, User\dht11.c(38): warning: #223-D: function "HAL_GPIO_Init" declared implicitly HAL_GPIO_Init(DHT11_PORT, &GPIO_InitStruct); User\dht11.c(41): warning: #223-D: function "HAL_GPIO_ReadPin" declared implicitly if(HAL_GPIO_ReadPin(DHT11_PORT, DHT11_PIN) != GPIO_PIN_RESET) return 0; User\dht11.c(43): warning: #223-D: function "HAL_GPIO_ReadPin" declared implicitly if(HAL_GPIO_ReadPin(DHT11_PORT, DHT11_PIN) != GPIO_PIN_SET) return 0; User\dht11.c(49): warning: #223-D: function "HAL_GPIO_ReadPin" declared implicitly while(HAL_GPIO_ReadPin(DHT11_PORT, DHT11_PIN) == GPIO_PIN_RESET); User\dht11.c(52): warning: #223-D: function "HAL_GPIO_ReadPin" declared implicitly if(HAL_GPIO_ReadPin(DHT11_PORT, DHT11_PIN) == GPIO_PIN_SET) User\dht11.c(55): warning: #223-D: function "HAL_GPIO_ReadPin" declared implicitly while(HAL_GPIO_ReadPin(DHT11_PORT, DHT11_PIN) == GPIO_PIN_SET); User\dht11.c: 9 warnings, 12 errors compiling misc.c... compiling system_stm32f10x.c... compiling stm32f10x_adc.c... compiling stm32f10x_bkp.c... compiling stm32f10x_cec.c... compiling stm32f10x_can.c... compiling stm32f10x_dbgmcu.c... compiling stm32f10x_crc.c... compiling stm32f10x_dac.c... compiling stm32f10x_dma.c... compiling stm32f10x_exti.c... compiling stm32f10x_fsmc.c... compiling stm32f10x_gpio.c... compiling stm32f10x_flash.c... compiling stm32f10x_i2c.c... compiling stm32f10x_pwr.c... compiling stm32f10x_rcc.c... compiling stm32f10x_iwdg.c... compiling stm32f10x_rtc.c... compiling stm32f10x_sdio.c... compiling stm32f10x_spi.c... compiling stm32f10x_wwdg.c... compiling stm32f10x_usart.c... compiling stm32f10x_tim.c... ".\Output\工程模板.axf" - 13 Error(s), 9 Warning(s). Target not created. Build Time Elapsed: 00:00:02

…/Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc_ex.h(1271): error: #20: identifier “HAL_StatusTypeDef” is undefined HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit); …/Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h(3357): error: #20: identifier “HAL_StatusTypeDef” is undefined HAL_StatusTypeDef HAL_RCC_DeInit(void); …/Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h(3358): error: #20: identifier “HAL_StatusTypeDef” is undefined HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct); …/Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h(3359): error: #20: identifier “HAL_StatusTypeDef” is undefined HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency); …/Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_gpio.h(301): error: #20: identifier “HAL_StatusTypeDef” is undefined HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef GPIOx, uint16_t GPIO_Pin); …/Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h(119): error: #20: identifier “HAL_LockTypeDef” is undefined HAL_LockTypeDef Lock; /!< DMA locking object */ …/Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma_ex.h(197): error: #20: identifier “HAL_StatusTypeDef” is undefined HAL_StatusTypeDef HAL_DMAEx_ConfigMuxRequestGenerator(DMA_HandleTypeDef *hdma, …/Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma_ex.h(199): error: #20: identifier “HAL_StatusTypeDef” is undefined HAL_StatusTypeDef HAL_DMAEx_EnableMuxRequestGenerator(DMA_HandleTypeDef *hdma); …/Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma_ex.h(200): error: #20: identifier “HAL_StatusTypeDef” is undefined HAL_StatusTypeDef HAL_DMAEx_DisableMuxRequestGenerator(DMA_HandleTypeDef *hdma); …/Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma_ex.h(204): error: #20: identifier “HAL_StatusTypeDef” is undefined HAL_StatusTypeDef HAL_DMAEx_ConfigMuxSync(DMA_HandleTypeDef *hdma, HAL_DMA_MuxSyncConfigTypeDef *pSyncConfig); …/Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h(759): error: #20: identifier “HAL_StatusTypeDef” is undefined HAL_StatusTypeDef HAL_DMA_Init(DMA_HandleTypeDef *hdma); …/Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h(760): error: #20: identifier “HAL_StatusTypeDef” is undefined HAL_StatusTypeDef HAL_DMA_DeInit(DMA_HandleTypeDef *hdma); …/Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h(769): error: #20: identifier “HAL_StatusTypeDef” is undefined HAL_StatusTypeDef HAL_DMA_Start(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength); …/Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h(770): error: #20: identifier “HAL_StatusTypeDef” is undefined HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, …/Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h(772): error: #20: identifier “HAL_StatusTypeDef” is undefined HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma);

Build target 'Target 1' compiling main.c... dht11.h(10): error: #20: identifier "uint8_t" is undefined uint8_t DHT11_Read(float *temp, float *humid); main.c(8): error: #20: identifier "RCC" is undefined RCC->CR |= RCC_CR_HSEON; main.c(8): error: #20: identifier "RCC_CR_HSEON" is undefined RCC->CR |= RCC_CR_HSEON; main.c(9): error: #20: identifier "RCC_CR_HSERDY" is undefined while (!(RCC->CR & RCC_CR_HSERDY)); main.c(12): error: #20: identifier "RCC_CFGR_PLLMULL9" is undefined RCC->CFGR |= RCC_CFGR_PLLMULL9 | RCC_CFGR_PLLSRC; main.c(12): error: #20: identifier "RCC_CFGR_PLLSRC" is undefined RCC->CFGR |= RCC_CFGR_PLLMULL9 | RCC_CFGR_PLLSRC; main.c(15): error: #20: identifier "RCC_CR_PLLON" is undefined RCC->CR |= RCC_CR_PLLON; main.c(16): error: #20: identifier "RCC_CR_PLLRDY" is undefined while (!(RCC->CR & RCC_CR_PLLRDY)); main.c(19): error: #20: identifier "RCC_CFGR_SW_PLL" is undefined RCC->CFGR |= RCC_CFGR_SW_PLL; main.c(20): error: #20: identifier "RCC_CFGR_SWS" is undefined while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_PLL); main.c(20): error: #20: identifier "RCC_CFGR_SWS_PLL" is undefined while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_PLL); main.c(23): error: #20: identifier "RCC_CFGR_PPRE1_DIV2" is undefined RCC->CFGR |= RCC_CFGR_PPRE1_DIV2 | RCC_CFGR_PPRE2_DIV1; main.c(23): error: #20: identifier "RCC_CFGR_PPRE2_DIV1" is undefined RCC->CFGR |= RCC_CFGR_PPRE1_DIV2 | RCC_CFGR_PPRE2_DIV1; main.c(29): error: #20: identifier "RCC" is undefined RCC->APB2ENR |= RCC_APB2ENR_IOPAEN | RCC_APB2ENR_IOPBEN | RCC_APB2ENR_IOPCEN; main.c(29): error: #20: identifier "RCC_APB2ENR_IOPAEN" is undefined RCC->APB2ENR |= RCC_APB2ENR_IOPAEN | RCC_APB2ENR_IOPBEN | RCC_APB2ENR_IOPCEN; main.c(29): error: #20: identifier "RCC_APB2ENR_IOPBEN" is undefined RCC->APB2ENR |= RCC_APB2ENR_IOPAEN | RCC_APB2ENR_IOPBEN | RCC_APB2ENR_IOPCEN; main.c(29): error: #20: identifier "RCC_APB2ENR_IOPCEN" is undefined RCC->APB2ENR |= RCC_APB2ENR_IOPAEN | RCC_APB2ENR_IOPBEN | RCC_APB2ENR_IOPCEN; main.c(32): error: #20: identifier "GPIOA" is undefined GPIOA->CRL &= ~(0x0F << (BUTTON_PIN * 4)); // ???? main.c(36): error: #20: identifier "GPIOC" is undefined GPIOC->CRH &= ~(0xFF << 0); // ???? main.c(40): error: #20: identifier "GPIOB" is undefined GPIOB->CRH &= ~(0x0F << 0); main.c(48): warning: #223-D: function "__NOP" declared implicitly __NOP(); main.c(54): error: #20: identifier "GPIOB" is undefined GPIOB->BSRR = (1 << BUZZER_PIN); // ?? main.c(63): error: #20: identifier "GPIOC" is undefined GPIOC->BSRR = (1 << FAN_PIN1); // ?? main.c(66): error: #20: identifier "GPIOC" is undefined GPIOC->BRR = (1 << FAN_PIN1); // ?? main.c(70): error: #20: identifier "GPIOC" is undefined GPIOC->BRR = (1 << FAN_PIN1) | (1 << FAN_PIN2); // ?? main.c(82): error: #268: declaration may not appear after executable statement in block uint8_t fan_state = 0; main.c(83): error: #268: declaration may not appear after executable statement in block uint8_t fan_direction = 1; // 1=??, 0=?? main.c(97): warning: #223-D: function "sprintf" declared implicitly sprintf(buffer, "Temp: %.1fC", temp); main.c(113): error: #20: identifier "GPIOA" is undefined if ((GPIOA->IDR & (1 << BUTTON_PIN)) == 0) { // ????(???) main.c: 2 warnings, 27 errors compiling dht11.c... dht11.h(10): error: #20: identifier "uint8_t" is undefined uint8_t DHT11_Read(float *temp, float *humid); dht11.c(7): error: #20: identifier "GPIOA" is undefined GPIOA->CRL &= ~(0x0F << (4 * DHT11_PIN)); // ???? dht11.c(15): error: #20: identifier "uint8_t" is undefined uint8_t DHT11_Read(float *temp, float *humid) { dht11.c(16): error: #20: identifier "uint8_t" is undefined uint8_t data[5] = {0}; dht11.c(17): error: #20: identifier "uint8_t" is undefined uint8_t i, j; dht11.c(20): error: #20: identifier "GPIOA" is undefined GPIOA->CRL &= ~(0x0F << (4 * DHT11_PIN)); // ???? dht11.c(22): warning: #223-D: function "Delay_ms" declared implicitly Delay_ms(18); dht11.c(41): error: #268: declaration may not appear after executable statement in block uint32_t count = 0; dht11.c(41): error: #20: identifier "uint32_t" is undefined uint32_t count = 0; dht11.c: 1 warning, 8 errors compiling tft_gfx.c... tft_gfx.c(11): error: #20: identifier "RCC" is undefined RCC->APB2ENR |= RCC_APB2ENR_SPI1EN; tft_gfx.c(11): error: #20: identifier "RCC_APB2ENR_SPI1EN" is undefined RCC->APB2ENR |= RCC_APB2ENR_SPI1EN; tft_gfx.c(14): error: #20: identifier "GPIOA" is undefined GPIOA->CRL &= ~(0xFFF << 20); // ??PA5, PA6, PA7?? tft_gfx.c(14): warning: #61-D: integer operation result is out of range GPIOA->CRL &= ~(0xFFF << 20); // ??PA5, PA6, PA7?? tft_gfx.c(18): error: #20: identifier "SPI1" is undefined SPI1->CR1 = SPI_CR1_MSTR | SPI_CR1_SPE | SPI_CR1_SSM | SPI_CR1_SSI; tft_gfx.c(18): error: #20: identifier "SPI_CR1_MSTR" is undefined SPI1->CR1 = SPI_CR1_MSTR | SPI_CR1_SPE | SPI_CR1_SSM | SPI_CR1_SSI; tft_gfx.c(18): error: #20: identifier "SPI_CR1_SPE" is undefined SPI1->CR1 = SPI_CR1_MSTR | SPI_CR1_SPE | SPI_CR1_SSM | SPI_CR1_SSI; tft_gfx.c(18): error: #20: identifier "SPI_CR1_SSM" is undefined SPI1->CR1 = SPI_CR1_MSTR | SPI_CR1_SPE | SPI_CR1_SSM | SPI_CR1_SSI; tft_gfx.c(18): error: #20: identifier "SPI_CR1_SSI" is undefined SPI1->CR1 = SPI_CR1_MSTR | SPI_CR1_SPE | SPI_CR1_SSM | SPI_CR1_SSI; tft_gfx.c(19): error: #20: identifier "SPI_CR1_BR_0" is undefined SPI1->CR1 |= SPI_CR1_BR_0; // 36MHz/4 = 9MHz tft_gfx.c(25): error: #20: identifier "GPIOA" is undefined GPIOA->CRL &= ~(0xFF << (4 * TFT_CS_PIN)); tft_gfx.c(33): warning: #223-D: function "Delay_ms" declared implicitly Delay_ms(100); tft_gfx.c(43): error: #20: identifier "SPI1" is undefined while (!(SPI1->SR & SPI_SR_TXE)); // ???????? tft_gfx.c(43): error: #20: identifier "SPI_SR_TXE" is undefined while (!(SPI1->SR & SPI_SR_TXE)); // ???????? tft_gfx.c(45): error: #20: identifier "SPI_SR_BSY" is undefined while (SPI1->SR & SPI_SR_BSY); // ?????? tft_gfx.c(50): error: #20: identifier "GPIOA" is undefined GPIOA->BRR = (1 << TFT_DC_PIN); // DC=0(??) tft_gfx.c(58): error: #20: identifier "GPIOA" is undefined GPIOA->BSRR = (1 << TFT_DC_PIN); // DC=1(??) tft_gfx.c(85): error: #20: identifier "GPIOA" is undefined GPIOA->BSRR = (1 << TFT_DC_PIN); // DC=1(??) tft_gfx.c(88): error: #254: type name is not allowed for (uint32_t i = 0; i < 320 * 240; i++) { tft_gfx.c(88): error: #65: expected a ";" for (uint32_t i = 0; i < 320 * 240; i++) { tft_gfx.c(88): error: #20: identifier "i" is undefined for (uint32_t i = 0; i < 320 * 240; i++) { tft_gfx.c(103): warning: #223-D: function "TFT_DrawChar" declared implicitly TFT_DrawChar(x, y, *str, font, color); tft_gfx.c(100): warning: #177-D: variable "char_height" was declared but never referenced uint8_t char_height = font->height; tft_gfx.c(110): error: #159: declaration is incompatible with previous "TFT_DrawChar" (declared at line 103) void TFT_DrawChar(uint16_t x, uint16_t y, char c, FontDef *font, uint16_t color) { tft_gfx.c(114): error: #254: type name is not allowed for (uint8_t row = 0; row < font->height; row++) { tft_gfx.c(114): error: #65: expected a ";" for (uint8_t row = 0; row < font->height; row++) { tft_gfx.c(114): error: #20: identifier "row" is undefined for (uint8_t row = 0; row < font->height; row++) { tft_gfx.c(116): error: #254: type name is not allowed for (uint8_t col = 0; col < font->width; col++) { tft_gfx.c(116): error: #65: expected a ";" for (uint8_t col = 0; col < font->width; col++) { tft_gfx.c(116): error: #20: identifier "col" is undefined for (uint8_t col = 0; col < font->width; col++) { tft_gfx.c(118): warning: #223-D: function "TFT_DrawPixel" declared implicitly TFT_DrawPixel(x + col, y + row, color); tft_gfx.c(125): error: #159: declaration is incompatible with previous "TFT_DrawPixel" (declared at line 118) void TFT_DrawPixel(uint16_t x, uint16_t y, uint16_t color) { tft_gfx.c(135): error: #20: identifier "GPIOA" is undefined GPIOA->BSRR = (1 << TFT_DC_PIN); // DC=1(??) tft_gfx.c(138): error: #254: type name is not allowed for (uint32_t i = 0; i < w * h; i++) { tft_gfx.c(138): error: #65: expected a ";" for (uint32_t i = 0; i < w * h; i++) { tft_gfx.c: 5 warnings, 30 errors compiling system_stm32f10x.c... compiling fonts.c... fonts.c(29): error: #20: identifier "NULL" is undefined FontDef Font_16x26 = {16, 26, NULL}; // ?????????? fonts.c: 0 warnings, 1 error compiling misc.c... C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\misc.c(99): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_NVIC_PRIORITY_GROUP(NVIC_PriorityGroup)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\misc.c(117): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NVIC_InitStruct->NVIC_IRQChannelCmd)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\misc.c(159): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_NVIC_VECTTAB(NVIC_VectTab)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\misc.c(178): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_NVIC_LP(LowPowerMode)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\misc.c(202): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_SYSTICK_CLK_SOURCE(SysTick_CLKSource)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\misc.c: 5 warnings, 0 errors compiling stm32f10x_gpio.c... C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_gpio.c(111): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_gpio.c(178): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_gpio.c(286): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_gpio.c(308): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_gpio.c(324): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_gpio.c(346): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_gpio.c(361): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_gpio.c(377): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_gpio.c(397): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_gpio.c(420): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_gpio.c(437): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ALL_PERIPH(GPIOx)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_gpio.c(466): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_EVENTOUT_PORT_SOURCE(GPIO_PortSource)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_gpio.c(486): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_gpio.c(554): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_REMAP(GPIO_Remap)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_gpio.c(613): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_EXTI_PORT_SOURCE(GPIO_PortSource)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_gpio.c(632): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_GPIO_ETH_MEDIA_INTERFACE(GPIO_ETH_MediaInterface)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_gpio.c: 16 warnings, 0 errors compiling stm32f10x_rcc.c... C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(273): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_HSE(RCC_HSE)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(338): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_CALIBRATION_VALUE(HSICalibrationValue)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(357): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(383): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_PLL_SOURCE(RCC_PLLSource)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(404): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(568): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_SYSCLK_SOURCE(RCC_SYSCLKSource)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(612): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_HCLK(RCC_SYSCLK)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(638): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_PCLK(RCC_HCLK)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(664): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_PCLK(RCC_HCLK)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(703): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_IT(RCC_IT)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(731): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_USBCLK_SOURCE(RCC_USBCLKSource)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(770): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_ADCCLK(RCC_PCLK2)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(832): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_LSE(RCC_LSE)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(865): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(882): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_RTCCLK_SOURCE(RCC_RTCCLKSource)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(896): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(1067): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_AHB_PERIPH(RCC_AHBPeriph)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(1098): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(1129): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_APB1_PERIPH(RCC_APB1Periph)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(1188): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_APB2_PERIPH(RCC_APB2Periph)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(1219): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_APB1_PERIPH(RCC_APB1Periph)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(1240): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(1253): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_FUNCTIONAL_STATE(NewState)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(1285): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_MCO(RCC_MCO)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(1332): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_FLAG(RCC_FLAG)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(1406): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_GET_IT(RCC_IT)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c(1451): warning: #223-D: function "assert_param" declared implicitly assert_param(IS_RCC_CLEAR_IT(RCC_IT)); C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\1.0.5\Device\StdPeriph_Driver\src\stm32f10x_rcc.c: 27 warnings, 0 errors assembling startup_stm32f10x_hd.s... compiling system_stm32f10x.c... ".\Objects\01.axf" - 66 Error(s), 56 Warning(s). Target not created. Build Time Elapsed: 00:00:20

*** Using Compiler 'V5.06 update 4 (build 422)', folder: 'E:\Program\ARM\ARMCC\Bin' Build target 'standard' compiling shoot.c... ..\user\APP\shoot\shoot.c(201): warning: #177-D: variable "last_k" was declared but never referenced static int8_t last_s = RC_SW_UP,last_k = SHOOT_FIRST; ..\user\APP\shoot\shoot.c(296): warning: #550-D: variable "last_progress" was set but never used static int last_progress=0,last_dart_launch_opening_status=1,last_shoot_tran_push_mode=SHOOT_RECOVER; ..\user\APP\shoot\shoot.c(511): error: #20: identifier "INPUT_DEVICE_KEYBOARD_MOUSE" is undefined input_device=INPUT_DEVICE_KEYBOARD_MOUSE; ..\user\APP\shoot\shoot.c(515): error: #20: identifier "INPUT_DEVICE_REMOTE_CONTROL" is undefined input_device=INPUT_DEVICE_REMOTE_CONTROL; ..\user\APP\shoot\shoot.c(519): warning: #1-D: last line of file ends without a newline ..\user\APP\shoot\shoot.c(434): warning: #177-D: function "shoot_stop_control" was declared but never referenced static void shoot_stop_control(void) ..\user\APP\shoot\shoot.c: 4 warnings, 2 errors compiling mechanical_arm.c... ..\user\APP\arm_task\mechanical_arm.c(324): error: #20: identifier "INPUT_DEVICE_KEYBOARD_MOUSE" is undefined case INPUT_DEVICE_KEYBOARD_MOUSE: ..\user\APP\arm_task\mechanical_arm.c(325): error: #20: identifier "ARM_AUTO_SHOOT" is undefined mechanical_arm = ARM_AUTO_SHOOT; ..\user\APP\arm_task\mechanical_arm.c(326): warning: #223-D: function "AutoShootStateHandler" declared implicitly AutoShootStateHandler(); ..\user\APP\arm_task\mechanical_arm.c(328): error: #20: identifier "INPUT_DEVICE_REMOTE_CONTROL" is undefined case INPUT_DEVICE_REMOTE_CONTROL: ..\user\APP\arm_task\mechanical_arm.c(329): error: #20: identifier "ARM_REMOTE_CONTROL" is undefined mechanical_arm = ARM_REMOTE_CONTROL; ..\user\APP\arm_task\mechanical_arm.c(330): warning: #223-D: function "RemoteControlStateHandler" declared implicitly RemoteControlStateHandler(); ..\user\APP\arm_task\mechanical_arm.c: 2 warnings, 4 errors compiling gimbal_behaviour.c... ..\user\APP\gimbal_task\gimbal_behaviour.c(389): warning: #550-D: variable "cali_time" was set but never used static uint16_t cali_time = 0; ..\user\APP\gimbal_task\gimbal_behaviour.c(534): warning: #177-D: function "pull_motor_control" was declared but never referenced static void pull_motor_control(fp32 *tran,fp32 *push,Gimbal_Control_t *gimbal_control_set) ..\user\APP\gimbal_task\gimbal_behaviour.c: 2 warnings, 0 errors compiling start_task.c... compiling calibrate_task.c...4

*** Using Compiler 'V5.06 update 5 (build 528)', folder: 'E:\Keil5\ARM\ARMCC\Bin' Build target 'OLED' compiling stm32f4xx_ll_adc.c... compiling stm32f4xx_hal_pwr.c... assembling startup_stm32f411xe.s... compiling oled.c... ..\Core\Src\oled.c(23): error: #20: identifier "OLED_DC_GPIO_Port" is undefined LED_DC_Set();//命令/数据标志位置为1,则表示传送的是命令字节 ..\Core\Src\oled.c(23): error: #20: identifier "OLED_DC_Pin" is undefined LED_DC_Set();//命令/数据标志位置为1,则表示传送的是命令字节 ..\Core\Src\oled.c(26): error: #20: identifier "OLED_DC_GPIO_Port" is undefined LED_DC_Clr();//命令/数据标志位置为0,则表示传送的是数据字节 ..\Core\Src\oled.c(26): error: #20: identifier "OLED_DC_Pin" is undefined LED_DC_Clr();//命令/数据标志位置为0,则表示传送的是数据字节 ..\Core\Src\oled.c(27): error: #20: identifier "OLED_CS_GPIO_Port" is undefined LED_CS_Clr();//片选信号为低,表示选中OLED ..\Core\Src\oled.c(27): error: #20: identifier "OLED_CS_Pin" is undefined LED_CS_Clr();//片选信号为低,表示选中OLED ..\Core\Src\oled.c(30): error: #20: identifier "OLED_DC_GPIO_Port" is undefined LED_DC_Set(); ..\Core\Src\oled.c(30): error: #20: identifier "OLED_DC_Pin" is undefined LED_DC_Set(); ..\Core\Src\oled.c(243): error: #20: identifier "OLED_RST_GPIO_Port" is undefined LED_RST_Clr(); ..\Core\Src\oled.c(243): error: #20: identifier "OLED_RST_Pin" is undefined LED_RST_Clr(); ..\Core\Src\oled.c: 0 warnings, 10 errors compiling gpio.c... ../Core/Src/gpio.c(96): error: #20: identifier "OLED_CS_GPIO_Port" is undefined HAL_GPIO_WritePin(OLED_CS_GPIO_Port, OLED_CS_Pin, GPIO_PIN_RESET); ../Core/Src/gpio.c(96): error: #20: identifier "OLED_CS_Pin" is undefined HAL_GPIO_WritePin(OLED_CS_GPIO_Port, OLED_CS_Pin, GPIO_PIN_RESET); ../Core/Src/gpio.c(99): error: #20: identifier "OLED_RST_Pin" is undefined HAL_GPIO_WritePin( PIOB, OLED_RST_Pin|OLED_DC_Pin, GPIO_PIN_RESET); ../Core/Src/gpio.c(99): error: #20: identifier "OLED_DC_Pin" is undefined HAL_GPIO_WritePin( PIOB, OLED_RST_Pin|OLED_DC_Pin, GPIO_PIN_RESET); ../Core/Src/gpio.c: 0 warnings, 4 errors compiling i2c.c... ../Core/Inc/i2c.h(34): error: #20: identifier "I2C_HandleTypeDef" is undefined extern I2C_HandleTypeDef hi2c1; i2c.c(27): error: #20: identifier "I2C_HandleTypeDef" is undefined I2C_HandleTypeDef hi2c1; i2c.c(35): error: #20: identifier "I2C_DUTYCYCLE_2" is undefined hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; i2c.c(37): error: #20: identifier "I2C_ADDRESSINGMODE_7BIT" is undefined hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; i2c.c(38): error: #20: identifier "I2C_DUALADDRESS_DISABLE" is undefined hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; i2c.c(40): error: #20: identifier "I2C_GENERALCALL_DISABLE" is undefined hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; i2c.c(41): error: #20: identifier "I2C_NOSTRETCH_DISABLE" is undefined hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; i2c.c(42): warning: #223-D: function "HAL_I2C_Init" declared implicitly if (HAL_I2C_Init(&hi2c1) != HAL_OK) i2c.c(49): error: #20: identifier "I2C_HandleTypeDef" is undefined void HAL_I2C_MspInit(I2C_HandleTypeDef* i2cHandle) i2c.c(79): error: #20: identifier "I2C_HandleTypeDef" is undefined void HAL_I2C_MspDeInit(I2C_HandleTypeDef* i2cHandle) i2c.c(108): warning: #1-D: last line of file ends without a newline /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ i2c.c: 2 warnings, 9 errors compiling stm32f4xx_hal_rtc_ex.c... compiling stm32f4xx_hal_cortex.c... compiling stm32f4xx_hal_spi.c... compiling stm32f4xx_hal_flash_ramfunc.c... compiling stm32f4xx_hal.c... compiling stm32f4xx_hal_adc.c... compiling tim.c... compiling stm32f4xx_hal_dma_ex.c... compiling usart.c... compiling stm32f4xx_hal_flash.c... compiling stm32f4xx_hal_rcc.c... compiling adc.c... compiling stm32f4xx_hal_exti.c... compiling main.c... ../Core/Src/main.c(289): warning: #177-D: variable "i" was declared but never referenced int i,j; ../Core/Src/main.c(371): warning: #1035-D: single-precision operand implicitly converted to double-precision Res_1 = ( ( (float)adc_values[1] ) / ( (float)adc_values[0] )-1.0)*708; ../Core/Src/main.c(375): warning: #1035-D: single-precision operand implicitly converted to double-precision Res_2 = (int)(( ( (float)adc_values[1] ) / ( (float)adc_values[0] )-1.0)*475000); ../Core/Src/main.c(503): warning: #1035-D: single-precision operand implicitly converted to double-precision Esr = ( ( (float)adc_values[1] ) / ( (float)adc_values[0] )-1.0)*708; ../Core/Src/main.c(489): warning: #550-D: variable "adcget1" was set but never used uint32_t adcget1, adcget2, adc_values[2]; ../Core/Src/main.c(489): warning: #550-D: variable "adcget2" was set but never used uint32_t adcget1, adcget2, adc_values[2]; ../Core/Src/main.c(490): warning: #177-D: variable "Res" was declared but never referenced float Res,Esr; ../Core/Src/main.c: 7 warnings, 0 errors compiling spi.c... compiling stm32f4xx_it.c... compiling stm32f4xx_hal_dma.c... compiling stm32f4xx_hal_pwr_ex.c... compiling stm32f4xx_hal_rtc.c... compiling stm32f4xx_hal_gpio.c... compiling stm32f4xx_hal_rcc_ex.c... compiling stm32f4xx_hal_flash_ex.c... compiling stm32f4xx_hal_adc_ex.c... compiling stm32f4xx_hal_msp.c... compiling rtc.c... compiling stm32f4xx_hal_tim_ex.c... compiling stm32f4xx_hal_tim.c... compiling stm32f4xx_hal_uart.c... compiling system_stm32f4xx.c... "OLED\OLED.axf" - 23 Error(s), 9 Warning(s). Target not created. Build Time Elapsed: 00:02:10

*** Using Compiler 'V5.06 update 1 (build 61)', folder: 'D:\Keil_v5\ARM\ARMCC\Bin' *** Note: Rebuilding project, since 'Options->Output->Create Batch File' is selected. Rebuild target 'ADC-DEMO' assembling startup_stm32f10x_md.s... compiling main.c... compiling led.c... compiling usart1.c... compiling delay.c... compiling dht11.c... dht11.c(18): warning: #188-D: enumerated type mixed with another type HT11_DQ_OUT(0); //拉??DQ dht11.c(20): warning: #188-D: enumerated type mixed with another type HT11_DQ_OUT(1); //DQ=1 dht11.c: 2 warnings, 0 errors compiling sys.c... compiling stm32f10x_it.c... compiling stm32f10x_gpio.c... compiling stm32f10x_rcc.c... compiling stm32f10x_usart.c... compiling stm32f10x_adc.c... compiling stm32f10x_dma.c... compiling stm32f10x_flash.c... compiling stm32f10x_rtc.c... compiling misc.c... compiling stm32f10x_tim.c... compiling stm32f10x_exti.c... compiling core_cm3.c... compiling system_stm32f10x.c... compiling adc.c... ..\Drivers\BSP\ADC\adc.h(41): error: #20: identifier "ADC_HandleTypeDef" is undefined void adc_channel_set(ADC_HandleTypeDef *adc_handle, uint32_t ch,uint32_t rank, uint32_t stime); /* ADC通?????? */ ..\Drivers\BSP\ADC\adc.c(25): error: #20: identifier "ADC_HandleTypeDef" is undefined ADC_HandleTypeDef g_adc_handle; /* ADC?浔? */ ..\Drivers\BSP\ADC\adc.c(38): error: #20: identifier "ADC_DATAALIGN_RIGHT" is undefined g_adc_handle.Init.DataAlign = ADC_DATAALIGN_RIGHT; /* ?荻??敕?式:?叶??? */ ..\Drivers\BSP\ADC\adc.c(39): error: #20: identifier "ADC_SCAN_DISABLE" is undefined g_adc_handle.Init.ScanConvMode = ADC_SCAN_DISABLE; /* ??扫??模式,???玫?一??通?? */ ..\Drivers\BSP\ADC\adc.c(44): error: #20: identifier "ADC_SOFTWARE_START" is undefined g_adc_handle.Init.ExternalTrigConv = ADC_SOFTWARE_START; /* 触发转换方式:?砑シ? */ ..\Drivers\BSP\ADC\adc.c(45): warning: #223-D: function "HAL_ADC_Init" declared implicitly HAL_ADC_Init(&g_adc_handle); /* ??始化 */ ..\Drivers\BSP\ADC\adc.c(47): warning: #223-D: function "HAL_ADCEx_Calibration_Start" declared implicitly HAL_ADCEx_Calibration_Start(&g_adc_handle); /* 校准ADC */ ..\Drivers\BSP\ADC\adc.c(56): error: #20: identifier "ADC_HandleTypeDef" is undefined void HAL_ADC_MspInit(ADC_HandleTypeDef *hadc) ..\Drivers\BSP\ADC\adc.c(61): error: #20: identifier "RCC_PeriphCLKInitTypeDef" is undefined RCC_PeriphCLKInitTypeDef adc_clk_init = {0}; ..\Drivers\BSP\ADC\adc.c(63): warning: #223-D: function "__HAL_RCC_ADC1_CLK_ENABLE" declared implicitly DC_ADCX_CHY_CLK_ENABLE(); /* 使??ADCx时?? */ ..\Drivers\BSP\ADC\adc.c(64): warning: #223-D: function "__HAL_RCC_GPIOA_CLK_ENABLE" declared implicitly DC_ADCX_CHY_GPIO_CLK_ENABLE(); /* 开??GPIO时?? */ ..\Drivers\BSP\ADC\adc.c(67): error: #20: identifier "RCC_PERIPHCLK_ADC" is undefined adc_clk_init.PeriphClockSelection = RCC_PERIPHCLK_ADC; /* ADC????时?? */ ..\Drivers\BSP\ADC\adc.c(68): error: #20: identifier "RCC_ADCPCLK2_DIV6" is undefined adc_clk_init.AdcClockSelection = RCC_ADCPCLK2_DIV6; /* ??频????6时??为72M/6=12MHz */ ..\Drivers\BSP\ADC\adc.c(69): warning: #223-D: function "HAL_RCCEx_PeriphCLKConfig" declared implicitly HAL_RCCEx_PeriphCLKConfig(&adc_clk_init); /* ????ADC时?? */ ..\Drivers\BSP\ADC\adc.c(72): error: #136: struct "<unnamed>" has no field "Pin" gpio_init_struct.Pin = ADC_ADCX_CHY_GPIO_PIN; /* ADC通??IO?? */ ..\Drivers\BSP\ADC\adc.c(72): error: #20: identifier "GPIO_PIN_2" is undefined gpio_init_struct.Pin = DC_ADCX_CHY_GPIO_PIN; /* ADC通??IO?? */ ..\Drivers\BSP\ADC\adc.c(73): error: #136: struct "<unnamed>" has no field "Mode" gpio_init_struct.Mode = GPIO_MODE_ANALOG; /* 模?? */ ..\Drivers\BSP\ADC\adc.c(73): error: #20: identifier "GPIO_MODE_ANALOG" is undefined gpio_init_struct.Mode = GPIO_MODE_ANALOG; /* 模?? */ ..\Drivers\BSP\ADC\adc.c(74): warning: #223-D: function "HAL_GPIO_Init" declared implicitly HAL_GPIO_Init(ADC_ADCX_CHY_GPIO_PORT, &gpio_init_struct); ..\Drivers\BSP\ADC\adc.c(94): error: #20: identifier "ADC_HandleTypeDef" is undefined void adc_channel_set(ADC_HandleTypeDef *adc_handle, uint32_t ch, uint32_t rank, uint32_t stime) ..\Drivers\BSP\ADC\adc.c(96): error: #20: identifier "ADC_ChannelConfTypeDef" is undefined ADC_ChannelConfTypeDef adc_ch_conf; ..\Drivers\BSP\ADC\adc.c(101): warning: #223-D: function "HAL_ADC_ConfigChannel" declared implicitly HAL_ADC_ConfigChannel(adc_handle, &adc_ch_conf); /* 通?????? */ ..\Drivers\BSP\ADC\adc.c(111): error: #20: identifier "ADC_REGULAR_RANK_1" is undefined adc_channel_set(&g_adc_handle , ch, ADC_REGULAR_RANK_1, ADC_SAMPLETIME_239CYCLES_5); /* ????通?溃????泻筒???时?? */ ..\Drivers\BSP\ADC\adc.c(111): error: #20: identifier "ADC_SAMPLETIME_239CYCLES_5" is undefined adc_channel_set(&g_adc_handle , ch, ADC_REGULAR_RANK_1, ADC_SAMPLETIME_239CYCLES_5); /* ????通?溃????泻筒???时?? */ ..\Drivers\BSP\ADC\adc.c(113): warning: #223-D: function "HAL_ADC_Start" declared implicitly HAL_ADC_Start(&g_adc_handle); /* 开??ADC */ ..\Drivers\BSP\ADC\adc.c(114): warning: #223-D: function "HAL_ADC_PollForConversion" declared implicitly HAL_ADC_PollForConversion(&g_adc_handle, 10); /* ??询转换 */ ..\Drivers\BSP\ADC\adc.c(115): warning: #223-D: function "HAL_ADC_GetValue" declared implicitly return (uint16_t)HAL_ADC_GetValue(&g_adc_handle); /* 返???罱?一??ADC1?????榈?转换?峁? */ ..\Drivers\BSP\ADC\adc.c(132): warning: #223-D: function "delay_ms" declared implicitly delay_ms(5); ..\Drivers\BSP\ADC\adc.c: 11 warnings, 17 errors compiling atk_fan.c... ..\Drivers\BSP\ATK_FAN\atk_fan.c(22): error: #5: cannot open source input file "atim.h": No such file or directory #include "atim.h" ..\Drivers\BSP\ATK_FAN\atk_fan.c: 0 warnings, 1 error compiling atk_light.c... ..\Drivers\BSP\ATK_LIGHT\atk_light.c(22): error: #5: cannot open source input file "adc.h": No such file or directory #include "adc.h" ..\Drivers\BSP\ATK_LIGHT\atk_light.c: 0 warnings, 1 error compiling atim.c... ..\Drivers\BSP\TIM\atim.h(44): error: #20: identifier "TIM_HandleTypeDef" is undefined extern TIM_HandleTypeDef g_timx_cplm_pwm_handle; /* 定时??x?浔? */ ..\Drivers\BSP\TIM\atim.c(26): error: #20: identifier "TIM_HandleTypeDef" is undefined TIM_HandleTypeDef g_timx_cplm_pwm_handle; /* 定时??x?浔? */ ..\Drivers\BSP\TIM\atim.c(46): error: #20: identifier "TIM_OC_InitTypeDef" is undefined TIM_OC_InitTypeDef tim_oc_cplm_pwm = {0}; ..\Drivers\BSP\TIM\atim.c(48): warning: #223-D: function "__HAL_RCC_TIM1_CLK_ENABLE" declared implicitly TIM_TIMX_CPLM_CLK_ENABLE(); /* TIMx 时??使?? */ ..\Drivers\BSP\TIM\atim.c(49): warning: #223-D: function "__HAL_RCC_GPIOA_CLK_ENABLE" declared implicitly TIM_TIMX_CPLM_CHY_GPIO_CLK_ENABLE(); /* 通??X??应IO??时??使?? */ ..\Drivers\BSP\TIM\atim.c(50): warning: #223-D: function "__HAL_RCC_GPIOB_CLK_ENABLE" declared implicitly TIM_TIMX_CPLM_CHYN_GPIO_CLK_ENABLE(); /* 通??X互补通?蓝?应IO??时??使?? */ ..\Drivers\BSP\TIM\atim.c(52): error: #136: struct "<unnamed>" has no field "Pin" gpio_init_struct.Pin = ATIM_TIMX_CPLM_CHY_GPIO_PIN; ..\Drivers\BSP\TIM\atim.c(52): error: #20: identifier "GPIO_PIN_8" is undefined gpio_init_struct.Pin = TIM_TIMX_CPLM_CHY_GPIO_PIN; ..\Drivers\BSP\TIM\atim.c(53): error: #136: struct "<unnamed>" has no field "Mode" gpio_init_struct.Mode = GPIO_MODE_AF_PP; ..\Drivers\BSP\TIM\atim.c(53): error: #20: identifier "GPIO_MODE_AF_PP" is undefined gpio_init_struct.Mode = GPIO_MODE_AF_PP; ..\Drivers\BSP\TIM\atim.c(54): error: #136: struct "<unnamed>" has no field "Pull" gpio_init_struct.Pull = GPIO_PULLDOWN; ..\Drivers\BSP\TIM\atim.c(54): error: #20: identifier "GPIO_PULLDOWN" is undefined gpio_init_struct.Pull = GPIO_PULLDOWN; ..\Drivers\BSP\TIM\atim.c(55): error: #136: struct "<unnamed>" has no field "Speed" gpio_init_struct.Speed = GPIO_SPEED_FREQ_HIGH ; ..\Drivers\BSP\TIM\atim.c(55): error: #20: identifier "GPIO_SPEED_FREQ_HIGH" is undefined gpio_init_struct.Speed = GPIO_SPEED_FREQ_HIGH ; ..\Drivers\BSP\TIM\atim.c(56): warning: #223-D: function "HAL_GPIO_Init" declared implicitly HAL_GPIO_Init(ATIM_TIMX_CPLM_CHY_GPIO_PORT, &gpio_init_struct); ..\Drivers\BSP\TIM\atim.c(58): error: #136: struct "<unnamed>" has no field "Pin" gpio_init_struct.Pin = ATIM_TIMX_CPLM_CHYN_GPIO_PIN; ..\Drivers\BSP\TIM\atim.c(58): error: #20: identifier "GPIO_PIN_13" is undefined gpio_init_struct.Pin = TIM_TIMX_CPLM_CHYN_GPIO_PIN; ..\Drivers\BSP\TIM\atim.c(63): error: #20: identifier "TIM_COUNTERMODE_UP" is undefined g_timx_cplm_pwm_handle.Init.CounterMode = TIM_COUNTERMODE_UP; /* ???黾???模式 */ ..\Drivers\BSP\TIM\atim.c(65): error: #20: identifier "TIM_CLOCKDIVISION_DIV4" is undefined g_timx_cplm_pwm_handle.Init.ClockDivision = TIM_CLOCKDIVISION_DIV4; /* CKD[1:0] = 10, tDTS = 4 * tCK_INT = Ft / 4 = 18Mhz */ ..\Drivers\BSP\TIM\atim.c(66): error: #20: identifier "TIM_AUTORELOAD_PRELOAD_ENABLE" is undefined g_timx_cplm_pwm_handle.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; /* 使??影?蛹拇???TIMx_ARR */ ..\Drivers\BSP\TIM\atim.c(67): warning: #223-D: function "HAL_TIM_PWM_Init" declared implicitly HAL_TIM_PWM_Init(&g_timx_cplm_pwm_handle); ..\Drivers\BSP\TIM\atim.c(69): error: #20: identifier "TIM_OCMODE_PWM1" is undefined tim_oc_cplm_pwm.OCMode = TIM_OCMODE_PWM1; /* PWM模式1 */ ..\Drivers\BSP\TIM\atim.c(70): error: #20: identifier "TIM_OCPOLARITY_HIGH" is undefined tim_oc_cplm_pwm.OCPolarity = TIM_OCPOLARITY_HIGH; /* OCy ?偷?平??效 */ ..\Drivers\BSP\TIM\atim.c(71): error: #20: identifier "TIM_OCNPOLARITY_HIGH" is undefined tim_oc_cplm_pwm.OCNPolarity = TIM_OCNPOLARITY_HIGH; /* OCyN ?偷?平??效 */ ..\Drivers\BSP\TIM\atim.c(72): error: #20: identifier "TIM_OCIDLESTATE_RESET" is undefined tim_oc_cplm_pwm.OCIdleState = TIM_OCIDLESTATE_RESET; /* 当MOE=0,OCx=1 */ ..\Drivers\BSP\TIM\atim.c(73): error: #20: identifier "TIM_OCNIDLESTATE_RESET" is undefined tim_oc_cplm_pwm.OCNIdleState = TIM_OCNIDLESTATE_RESET; /* 当MOE=0,OCxN=1 */ ..\Drivers\BSP\TIM\atim.c(75): warning: #223-D: function "HAL_TIM_PWM_ConfigChannel" declared implicitly HAL_TIM_PWM_ConfigChannel(&g_timx_cplm_pwm_handle, &tim_oc_cplm_pwm, ATIM_TIMX_CPLM_CHY); ..\Drivers\BSP\TIM\atim.c(75): error: #20: identifier "TIM_CHANNEL_1" is undefined HAL_TIM_PWM_ConfigChannel(&g_timx_cplm_pwm_handle, &tim_oc_cplm_pwm, TIM_TIMX_CPLM_CHY); ..\Drivers\BSP\TIM\atim.c(77): warning: #223-D: function "HAL_TIM_PWM_Start" declared implicitly HAL_TIM_PWM_Start(&g_timx_cplm_pwm_handle, ATIM_TIMX_CPLM_CHY); /* 使??OCy?涑? */ ..\Drivers\BSP\TIM\atim.c(78): warning: #223-D: function "HAL_TIMEx_PWMN_Start" declared implicitly HAL_TIMEx_PWMN_Start(&g_timx_cplm_pwm_handle, ATIM_TIMX_CPLM_CHY); /* 使??OCyN?涑? */ ..\Drivers\BSP\TIM\atim.c: 8 warnings, 22 errors ".\STM32-DEMO.axf" - 41 Error(s), 21 Warning(s). Target not created. Build Time Elapsed: 00:00:07

最新推荐

recommend-type

AI 驱动 CI_CD:从部署工具到智能代理.doc

AI 驱动 CI_CD:从部署工具到智能代理.doc
recommend-type

Python程序TXLWizard生成TXL文件及转换工具介绍

### 知识点详细说明: #### 1. 图形旋转与TXL向导 图形旋转是图形学领域的一个基本操作,用于改变图形的方向。在本上下文中,TXL向导(TXLWizard)是由Esteban Marin编写的Python程序,它实现了特定的图形旋转功能,主要用于电子束光刻掩模的生成。光刻掩模是半导体制造过程中非常关键的一个环节,它确定了在硅片上沉积材料的精确位置。TXL向导通过生成特定格式的TXL文件来辅助这一过程。 #### 2. TXL文件格式与用途 TXL文件格式是一种基于文本的文件格式,它设计得易于使用,并且可以通过各种脚本语言如Python和Matlab生成。这种格式通常用于电子束光刻中,因为它的文本形式使得它可以通过编程快速创建复杂的掩模设计。TXL文件格式支持引用对象和复制对象数组(如SREF和AREF),这些特性可以用于优化电子束光刻设备的性能。 #### 3. TXLWizard的特性与优势 - **结构化的Python脚本:** TXLWizard 使用结构良好的脚本来创建遮罩,这有助于开发者创建清晰、易于维护的代码。 - **灵活的Python脚本:** 作为Python程序,TXLWizard 可以利用Python语言的灵活性和强大的库集合来编写复杂的掩模生成逻辑。 - **可读性和可重用性:** 生成的掩码代码易于阅读,开发者可以轻松地重用和修改以适应不同的需求。 - **自动标签生成:** TXLWizard 还包括自动为图形对象生成标签的功能,这在管理复杂图形时非常有用。 #### 4. TXL转换器的功能 - **查看.TXL文件:** TXL转换器(TXLConverter)允许用户将TXL文件转换成HTML或SVG格式,这样用户就可以使用任何现代浏览器或矢量图形应用程序来查看文件。 - **缩放和平移:** 转换后的文件支持缩放和平移功能,这使得用户在图形界面中更容易查看细节和整体结构。 - **快速转换:** TXL转换器还提供快速的文件转换功能,以实现有效的蒙版开发工作流程。 #### 5. 应用场景与技术参考 TXLWizard的应用场景主要集中在电子束光刻技术中,特别是用于设计和制作半导体器件时所需的掩模。TXLWizard作为一个向导,不仅提供了生成TXL文件的基础框架,还提供了一种方式来优化掩模设计,提高光刻过程的效率和精度。对于需要进行光刻掩模设计的工程师和研究人员来说,TXLWizard提供了一种有效的方法来实现他们的设计目标。 #### 6. 系统开源特性 标签“系统开源”表明TXLWizard遵循开放源代码的原则,这意味着源代码对所有人开放,允许用户自由地查看、修改和分发软件。开源项目通常拥有活跃的社区,社区成员可以合作改进软件,添加新功能,或帮助解决遇到的问题。这种开放性促进了技术创新,并允许用户根据自己的需求定制软件。 #### 7. 压缩包子文件的文件名称列表 文件名称列表中的“txlwizard-master”可能指的是TXLWizard项目的主版本库或主分支。这个名称表明了这是项目源代码的中心点,其他开发者会从这个主分支拉取代码进行合作开发或部署。以“-master”结尾通常是版本控制系统中表示主要开发线路的常见约定,例如Git中的master(现在更常被称为main)分支。 通过这些知识点的详细解释,我们可以看到TXLWizard不仅是一个用于生成TXL文件的工具,它还整合了一系列的功能,使得电子束光刻掩模的设计工作更为高效和直观。同时,作为一个开源项目,它能够借助社区的力量不断进步,为用户带来更多的便利和创新。
recommend-type

【创新图生成:扣子平台的技术前沿与创新思维】:引领图像生成技术的新潮流

# 1. 扣子平台的图像生成技术概述 在当今数字化时代,图像生成技术正成为推动技术创新和社会变革的关键力量。扣子平台正是这一技术革新的代表。本章将对扣子平台的图像生成技术进行一个全面概述,探究它如何将理论技术转化为实际应用,并带来显著的社会影响。 扣子平台运用了先进的图像生成技术,将现实世界和数字空间无缝融合,打造了沉浸式的视觉体验。其技术的核心是通过高度复杂的算法模型,快速生成高质
recommend-type

海康威视机器视觉工程师考核

<think>好的,我现在需要帮助用户了解海康威视机器视觉工程师的考核内容和要求。根据用户提供的引用资料,特别是引用[1]和[2],里面提到了考核素材包分为初级和中级,涵盖理论、算法、应用案例等。首先,我要整理这些信息,确保结构清晰,符合用户要求的格式。 接下来,我需要确认素材包的具体内容,比如初级和中级的不同点。引用[2]提到初级包含基础理论、算法实现和实际案例,中级则增加复杂算法和项目分析。这部分需要分点说明,方便用户理解层次。 另外,用户可能想知道如何准备考核,比如下载素材、学习顺序、模拟考核等,引用[2]中有使用说明和注意事项,这部分也要涵盖进去。同时要注意提醒用户考核窗口已关闭,
recommend-type

Linux环境下Docker Hub公共容器映像检测工具集

在给出的知识点中,我们需要详细解释有关Docker Hub、公共容器映像、容器编排器以及如何与这些工具交互的详细信息。同时,我们会涵盖Linux系统下的相关操作和工具使用,以及如何在ECS和Kubernetes等容器编排工具中运用这些检测工具。 ### Docker Hub 和公共容器映像 Docker Hub是Docker公司提供的一项服务,它允许用户存储、管理以及分享Docker镜像。Docker镜像可以视为应用程序或服务的“快照”,包含了运行特定软件所需的所有必要文件和配置。公共容器映像指的是那些被标记为公开可见的Docker镜像,任何用户都可以拉取并使用这些镜像。 ### 静态和动态标识工具 静态和动态标识工具在Docker Hub上用于识别和分析公共容器映像。静态标识通常指的是在不运行镜像的情况下分析镜像的元数据和内容,例如检查Dockerfile中的指令、环境变量、端口映射等。动态标识则需要在容器运行时对容器的行为和性能进行监控和分析,如资源使用率、网络通信等。 ### 容器编排器与Docker映像 容器编排器是用于自动化容器部署、管理和扩展的工具。在Docker环境中,容器编排器能够自动化地启动、停止以及管理容器的生命周期。常见的容器编排器包括ECS和Kubernetes。 - **ECS (Elastic Container Service)**:是由亚马逊提供的容器编排服务,支持Docker容器,并提供了一种简单的方式来运行、停止以及管理容器化应用程序。 - **Kubernetes**:是一个开源平台,用于自动化容器化应用程序的部署、扩展和操作。它已经成为容器编排领域的事实标准。 ### 如何使用静态和动态标识工具 要使用这些静态和动态标识工具,首先需要获取并安装它们。从给定信息中了解到,可以通过克隆仓库或下载压缩包并解压到本地系统中。之后,根据需要针对不同的容器编排环境(如Dockerfile、ECS、Kubernetes)编写配置,以集成和使用这些检测工具。 ### Dockerfile中的工具使用 在Dockerfile中使用工具意味着将检测工具的指令嵌入到构建过程中。这可能包括安装检测工具的命令、运行容器扫描的步骤,以及将扫描结果集成到镜像构建流程中,确保只有通过安全和合规检查的容器镜像才能被构建和部署。 ### ECS与Kubernetes中的工具集成 在ECS或Kubernetes环境中,工具的集成可能涉及到创建特定的配置文件、定义服务和部署策略,以及编写脚本或控制器来自动执行检测任务。这样可以在容器编排的过程中实现实时监控,确保容器编排器只使用符合预期的、安全的容器镜像。 ### Linux系统下的操作 在Linux系统下操作这些工具,用户可能需要具备一定的系统管理和配置能力。这包括使用Linux命令行工具、管理文件系统权限、配置网络以及安装和配置软件包等。 ### 总结 综上所述,Docker Hub上的静态和动态标识工具提供了一种方法来检测和分析公共容器映像,确保这些镜像的安全性和可靠性。这些工具在Linux开发环境中尤为重要,因为它们帮助开发人员和运维人员确保他们的容器映像满足安全要求。通过在Dockerfile、ECS和Kubernetes中正确使用这些工具,可以提高应用程序的安全性,减少由于使用不安全的容器镜像带来的风险。此外,掌握Linux系统下的操作技能,可以更好地管理和维护这些工具,确保它们能够有效地发挥作用。
recommend-type

【扣子平台图像艺术探究:理论与实践的完美结合】:深入学习图像生成的艺术

# 1. 图像艺术的理论基础 艺术领域的每一个流派和技巧都有其理论基础。在图像艺术中,理论基础不仅是对艺术表现形式的认知,也是掌握艺术创作内在逻辑的关键。深入理解图像艺术的理论基础,能够帮助艺术家们在创作过程中更加明确地表达自己的艺术意图,以及更好地与观众沟通。 图像艺术的理论
recommend-type

增广路定理的证明

<think>嗯,用户想查找增广路定理的证明,关于图论和网络流算法的。我得先理解增广路定理是什么,然后找到相关的证明方法。根据之前的引用,尤其是引用5提到最大流最小割定理,里面有三个等价条件,其中第二个是残余网络中没有增广路径时,流就是最大流。这可能和增广路定理相关,也就是当残余网络中没有增广路时,当前流就是最大流,这可能就是增广路定理的内容。 首先,我需要明确增广路定理的陈述。根据引用5,增广路定理可能指的是:一个流是最大流当且仅当残余网络中不存在增广路径。这个定理的证明需要用到最大流最小割定理,也就是第三个条件,即最大流的流量等于最小割的容量。 证明的步骤可能需要分为两个方向:必要性(
recommend-type

Pulse:基于SwiftUI的Apple平台高效日志记录与网络监控

从给定文件信息中,我们可以提取出以下IT知识点进行详细阐述: **Pulse概览:** Pulse是一个专门针对Apple平台(如iOS、iPadOS、macOS等)的功能强大的日志记录系统。其设计目的是为了简化开发者在这些平台上调试网络请求和应用日志的过程。Pulse的核心特色是它使用SwiftUI来构建,这有助于开发者利用现代Swift语言的声明式UI优势来快速开发和维护。 **SwiftUI框架:** SwiftUI是一种声明式框架,由苹果公司推出,用于构建用户界面。与传统的UIKit相比,SwiftUI使用更加简洁的代码来描述界面和界面元素,它允许开发者以声明的方式定义视图和界面布局。SwiftUI支持跨平台,这意味着同一套代码可以在不同的Apple设备上运行,大大提高了开发效率和复用性。Pulse选择使用SwiftUI构建,显示了其对现代化、高效率开发的支持。 **Network Inspector功能:** Pulse具备Network Inspector功能,这个功能使得开发者能够在开发iOS应用时,直接从应用内记录和检查网络请求和日志。这种内嵌式的网络诊断能力非常有助于快速定位网络请求中的问题,如不正确的URL、不返回预期响应等。与传统的需要外部工具来抓包和分析的方式相比,这样的内嵌式工具大大减少了调试的复杂性。 **日志记录和隐私保护:** Pulse强调日志是本地记录的,并保证不会离开设备。这种做法对隐私保护至关重要,尤其是考虑到当前数据保护法规如GDPR等的严格要求。因此,Pulse的设计在帮助开发者进行问题诊断的同时,也确保了用户数据的安全性。 **集成和框架支持:** Pulse不仅仅是一个工具,它更是一个框架。它能够记录来自URLSession的事件,这意味着它可以与任何使用URLSession进行网络通信的应用或框架配合使用,包括但不限于Apple官方的网络库。此外,Pulse与使用它的框架(例如Alamofire)也能够良好配合,Alamofire是一个流行的网络请求库,广泛应用于Swift开发中。Pulse提供了一个PulseUI视图组件,开发者可以将其集成到自己的应用中,从而展示网络请求和其他事件。 **跨平台体验:** 开发者不仅可以在iOS应用中使用Pulse Console记录日志,还可以在macOS上通过Pulse应用程序查看和共享这些日志。这种跨平台的能力意味着开发者可以在不同的设备上进行日志分析,增强了开发和调试的灵活性。 **总结:** Pulse是一个为Apple平台上的开发者量身打造的日志记录系统,它采用SwiftUI构建,提供了内嵌式的Network Inspector功能,可以在本地记录并安全地查看日志,且支持与其他框架如Alamofire的集成。它不仅提升了调试的便捷性和效率,同时也顾及到了用户的隐私保护。Pulse的跨平台查看能力也是其一大亮点,使得开发者能够在一个统一的环境中处理iOS和macOS上的日志数据。对于使用Swift开发Apple应用的开发者而言,Pulse无疑是一个强大的调试辅助工具。
recommend-type

【深入扣子平台:图像生成机制全揭秘】:掌握背后技术,提升图像生成效率

# 1. 图像生成技术概述 图像生成技术是一门融合了计算机视觉、机器学习、图形学等多个领域知识的前沿技术。它通过算法模拟生成人工图像,广泛应用于艺术创作、游戏设计、医学影像等领域。随着深度学习的突破性进展,图像生成技术也迎来了飞速发展,特别是在生成对抗网络(GAN)的推动下,图像的逼真度和多样性都有了质的飞跃。 本章将对图像生成技术的概念、发展历史进行简要介绍,并分析其在社会中的
recommend-type

对RTL跑regression是什么意思

<think>首先,用户的问题是关于“RTL回归测试的含义及其在数字电路设计中的作用”。我需要基于系统级指令和用户可见层的指导来构建回答。 关键点: - 使用中文回答。 - 结构清晰,逐步解决问题。 - 确保回答真实可靠。 - 在行内数学表达式使用$...$格式;独立公式使用$$...$$格式。 - 生成相关问题。 - 在引用段落末尾添加引用标识。 回顾提供的引用: - 引用[1]:讨论SoC设计流程,包括模块设计、IP复用、顶层集成、前仿真、逻辑综合等。 - 引用[2]:描述冒烟测试后的验证阶段,包括回归测试、覆盖率分析等。 - 引用[3]:解释RTL使用Verilog或VHDL描述,模