奇怪的错误。 Deprecated declaration IOInitOut - give arg types。

2019-08-23 14:35发布

Userdisplay12864.h(3): warning:  #1295-D: Deprecated declaration IOInitOut - give arg types
Userdisplay12864.c(23): error:  #147: declaration is incompatible with "GPIO_InitTypeDef GPIOInitOut" 

编译时,出现好多这类型的警告和错误,不知道怎么回事啊。英语字面意思倒是理解了,但是,实际含义不清楚啊。

找了半天也没有找到错在哪里。求各位高手,帮忙解答啊。

先谢谢大家了。回去睡觉了。

唉。技术员累啊。









友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
正点原子
1楼-- · 2019-08-24 09:56
回复【7楼】fanyi:
---------------------------------
消除警告就得按提示操作.
你提供形参.比如void.
可以在函数外对全局变量赋值,但是只有一次有效.
fanyi
2楼-- · 2019-08-24 11:04
回复【8楼】正点原子:
---------------------------------
原子老师:我又试了一下。貌似,在函数外对全局变量赋值不行啊。其它情况,我不清楚。我遇到的情况是:
#include "stm32f10x.h" 
#include "delay.h"

GPIO_InitTypeDef  G;
G.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1;
G.GPIO_Mode = GPIO_Mode_Out_PP;
G.GPIO_Speed = GPIO_Speed_50MHz;  

int main(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);




GPIO_Init(GPIOC,&G);
delay_init(8);

 
  while (1)
  {
      GPIO_SetBits(GPIOC,GPIO_Pin_0|GPIO_Pin_1);
delay_ms(4000);
GPIO_ResetBits(GPIOC,GPIO_Pin_0|GPIO_Pin_1);
delay_ms(4000);
  }
}

编译时,要对

GPIO_InitTypeDef  G;
G.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1;
G.GPIO_Mode = GPIO_Mode_Out_PP;
G.GPIO_Speed = GPIO_Speed_50MHz; 
 
这三行报错如下:

Usermain.c(5): error:  #77-D: this declaration has no storage class or type specifier
Usermain.c:   G.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1;
Usermain.c:   ^
Usermain.c(5): error:  #147: declaration is incompatible with "GPIO_InitTypeDef G" (declared at line 4)
Usermain.c:   G.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1;
Usermain.c:   ^
Usermain.c(5): error:  #65: expected a ";"
Usermain.c:   G.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1;
Usermain.c:    ^

每一行都对应这样的三个错误。一共8个错误。

如果把那 3 行放到主函数里面,就一个错误,警告,都没有了。

不知怎么回事??????????
 
正点原子
3楼-- · 2019-08-24 13:08
你还是放到主函数里面去吧。
这样感觉你在函数外面写代码似的。。。。
fanyi
4楼-- · 2019-08-24 13:33
回复【10楼】正点原子:
---------------------------------
我也是这么想的。谢谢 正点原子 老师。
提刀上马
5楼-- · 2019-08-24 14:33
 精彩回答 2  元偷偷看……
提刀上马
6楼-- · 2019-08-24 16:36
回复【10楼】正点原子:
---------------------------------回复【12楼】提刀上马:
回复【10楼】正点原子: --------------------------------- Build target 'TFT_LCD' compiling app.c... .User_spispi.h(82): error:  #130: expected a "{" .User_spispi.h:   void SPI1_Init(void);        .User_spispi.h:   ^ D:Program FilesKeilARM412ARMRV31INCmath.h(125): error:  #118: a void function may not return a value D:Program FilesKeilARM412ARMRV31INCmath.h:       return ((__FLT(__x) >> 23) & 0xff) != 0xff; D:Program FilesKeilARM412ARMRV31INCmath.h:              ^ D:Pr
......
---------------------------------
原子哥这是什么情况啊,,突然就这样了,,我也不知道哪儿错了

一周热门 更多>