OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3500|回复: 4

parameter "gpio" was set but never used

[复制链接]

10

主题

24

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2017-5-17
在线时间
29 小时
发表于 2017-5-18 17:42:17 | 显示全部楼层 |阅读模式
1金钱
1.#define PD0 PDout(0)


2.case 122:relay_control(500,PD0);break;


3.void relay_control(u16 delay,char gpio)
{
     
     gpio=1;
     delay_ms(delay);
     gpio=0;
     delay_ms(delay);

   
}

USER\txt.c(22): warning:  #550-D: parameter "gpio" was set but never used
  void relay_control(u16 delay,char gpio)

红色部分该怎么改?求大神指导

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

330

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2294
金钱
2294
注册时间
2016-5-21
在线时间
954 小时
发表于 2017-5-18 17:49:43 | 显示全部楼层
本帖最后由 xxssl 于 2017-5-18 17:51 编辑

没有被使用,比如把gpio的值赋值给其他(temp=gpio)才算被使用了,gpio=1只是使用,没有被使用,有点绕  ,这个警告可以忽略
回复

使用道具 举报

0

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2017-5-18
在线时间
4 小时
发表于 2017-5-18 17:52:32 | 显示全部楼层
变量"gpio"定义了但是从未使用,或者是虽然你使用了但是编译器认为变量"gpio"所在的语句没有意义,编译器把他优化了。解决办法是在char gpio前面加volatile关键字,告诉编译器不要优化它。
回复

使用道具 举报

10

主题

24

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2017-5-17
在线时间
29 小时
 楼主| 发表于 2017-5-18 18:10:41 | 显示全部楼层
本帖最后由 lyl123 于 2017-5-19 08:49 编辑

gpio原意是指PD0的输出状态,但总感觉relay_control(u16 delay,char gpio)那个函数定义有问题,但不知道怎么去定义这个函数?
如果不用这个函数,那我只能在case语句后加case 122D0=1;delay_ms(500)D0=0;delay_ms(500);break;;
有没有简单的方法呢
回复

使用道具 举报

5

主题

69

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
307
金钱
307
注册时间
2016-10-20
在线时间
64 小时
发表于 2017-5-19 13:55:31 | 显示全部楼层
realy_control(unsigned short delay)
{
     PD0=1;        //输出脚置高
     delay_ms(delay);
     PD0=0;       //输出脚置低
     delay_ms(delay);
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-8-21 02:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表