..\..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h(521): error: #40: expected an identifier typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState; ..\..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h(521): error: #40: expected an identifier typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState; ..\..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h(524): error: #40: expected an identifier typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus; ..\..\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\stm32f10x.h(524): error: #40: expected an identifier typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus; ..\..\User\mcu_sdk\mcu_api.c: 0 warnings, 4 errors 在mcu_api.c 里屏敝以下,则编译能过。 //#include "stm32f10x_gpio.h" // david void wifi_uart_service(void) { static unsigned short rx_in = 0; unsigned short offset = 0; unsigned short rx_value_len = 0; //Êý¾ÝÖ¡³¤¶È // GPIO_WriteBit(GPIOB, GPIO_Pin_6, (BitAction)(1 - GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_6))); |
desk(æ¹èªç©ºæ°ååå¨) - 0331 - FAE.zip
下载4.5 MB, 下载次数: 11, 下载积分: ST金币 -1
【MCU实战经验】基于STM32F103C8T6的hart总线调试器设计
求教STM32F103进入STOP模式后用外部中断唤醒的问题
基于STM32F103RCT6的无源蜂鸣器音乐播放(生日快乐歌)
STM32F103c8t6有没有DAC 功能?
STM32F103x中文数据手册
新手求教,为何在我电脑上找不到STM32F1Xx.h文件
金龙107例程汇总(STM32F107)
万利STM32F107VC 原理图
STM32F103 ADC多通道检测必须要DMA吗?
【官方例程】STM32F107以太网官方例程
评分
查看全部评分
你的“mcu_api.c”文件中少了包含一个库 #include "include.h"
因为在stm32f10x.h和wifi.h中都有关于 SUCCESS、ERROR、ENABLE、DISABLE的定义,但是在定义之前先判断的之前有没有定义。由于你没有包含"include.h"文件,所以认为你没有定义,而重定义了这4个宏定义。而实际你在其它文件中又用到了“stm32f10x.h”中的相关定义,因此产生冲突。
附件的工程已经为了改过来了,请笑纳。
喜欢有问题,附件发工程的,减少了不必要的猜测。解决这样的问题让人心情很舒服。
评分
查看全部评分
里面还有个报警,有时间也帮看下,谢谢
..\..\User\mcu_sdk\system.c(433): warning: #167-D: argument of type "volatile unsigned char *" is incompatible with parameter of type "unsigned char *"
mcu_write_rtctime(wifi_uart_rx_buf + offset + DATA_START);
..\..\User\mcu_sdk\system.c: 1 warning, 0 errors
评分
查看全部评分
这个是指针类型不同的警告,你可以用强到类型转换一下,就好了。
ENABLE和DISABLE是不是在其他头文件中定义过了。
评分
查看全部评分
方法1:#include "include.h" //20180331Íí£¬Ìí¼Ó´ËÐУ¬STÉçÇøtoofree
#include "wifi.h"
按上面这样改,可以编译成功,如果两者调个先后(如下方法2),就不能编译。不知如何解释?
方法2:
#include "wifi.h"
#include "include.h" //20180331Íí£¬Ìí¼Ó´ËÐУ¬STÉçÇøtoofree
上次,我的原项目是不能编译成功的,你按方法1改后可以编译成功。你的解释是:因为在stm32f10x.h和wifi.h中都有关于 SUCCESS、ERROR、ENABLE、DISABLE的定义,但是在定义之前先判断的之前有没有定义。由于你没有包含"include.h"文件,所以认为你没有定义,而重定义了这4个宏定义。而实际你在其它文件中又用到了“stm32f10x.h”中的相关定义,因此产生冲突。
我现在对了下,其实wifi.h中根本就没有关于 SUCCESS、ERROR、ENABLE、DISABLE的定义。那就不存在在stm32f10x.h和wifi.h中都有关于 SUCCESS、ERROR、ENABLE、DISABLE的定义的问题。那不能编译原因是什么呢?
我再把你上次改好的项目附上。有空麻烦再分析下,不胜感谢了。
desk(æ¹èªç©ºæ°ååå¨) - 0331 - FAE-toofree ä¿®æ¹.rar
2018-4-4 20:17 上传
点击文件名下载附件
下载积分: ST金币 -13.72 MB, 下载次数: 0, 下载积分: ST金币 -1
toofree,你好,关于我第一次发帖请教不能编译成功的问题,我还想弄清楚些。
方法1:#include "include.h" //20180331Íí£¬Ìí¼Ó´ËÐУ¬STÉçÇøtoofree
#include "wifi.h"
按上面这样改,可以编译成功,如果两者调个先后(如下方法2),就不能编译。不知如何解释?
方法2:
#include "wifi.h"
#include "include.h" //20180331Íí£¬Ìí¼Ó´ËÐУ¬STÉçÇøtoofree
上次,我的原项目是不能编译成功的,你按方法1改后可以编译成功。你的解释是:因为在stm32f10x.h和wifi.h中都有关于 SUCCESS、ERROR、ENABLE、DISABLE的定义,但是在定义之前先判断的之前有没有定义。由于你没有包含"include.h"文件,所以认为你没有定义,而重定义了这4个宏定义。而实际你在其它文件中又用到了“stm32f10x.h”中的相关定义,因此产生冲突。
我现在对了下,其实wifi.h中根本就没有关于 SUCCESS、ERROR、ENABLE、DISABLE的定义。那就不存在在stm32f10x.h和wifi.h中都有关于 SUCCESS、ERROR、ENABLE、DISABLE的定义的问题。那不能编译原因是什么呢?
我再把你上次改好的项目附上。有空麻烦再分析下,不胜感谢了。
这是C语言功底的问题,你要这么说,那我也没办法了。先学习一下C语言吧。
toofree,是,你说的是对的。多谢了