OpenEdv-开源电子网

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

关于 枚举 结构体 函数调用问题 有警告

[复制链接]

8

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
107
金钱
107
注册时间
2013-5-27
在线时间
6 小时
发表于 2014-5-22 13:19:19 | 显示全部楼层 |阅读模式
5金钱
[mw_shl_code=c,true]typedef enum _cannum_ { #if CAN_MAX_NUM == 4 //4路can CAN1 = 0, //CAN1 CAN2, //CAN2 CAN3, //CAN3 CAN4 //CAN4 #elif CAN_MAX_NUM == 2 //2路can CAN1 = 0, //CAN1 CAN2 //CAN2 #endif } eCANNUM; [/mw_shl_code]
结构体 如上
定义函数
[mw_shl_code=c,true]UINT32 CANSendData(eCANNUM CanNum,UINT32 Cmd,P_stcTxBUF Buf)[/mw_shl_code]


调用函数时
[mw_shl_code=c,true]CANSendData(0,4,&CanSendBuff)[/mw_shl_code]
参数0就是 [mw_shl_code=c,true]eCANNUM CanNum,[/mw_shl_code]

然后 就有 警告 谁能帮忙 解决下
main.c(198): warning:  #188-D: enumerated type mixed with another type

新手 c语言 对结构体用法不太熟悉

最佳答案

查看完整内容[请看2#楼]

CANSendData(CAN1,4,&CanSendBuff) ;  或者  CANSendData((eCANNUM)0,4,&CanSendBuff)
留下的终将被留下 明天的总是被明天
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

36

主题

1263

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1612
金钱
1612
注册时间
2012-6-15
在线时间
39 小时
发表于 2014-5-22 13:19:20 | 显示全部楼层
CANSendData(CAN1,4,&CanSendBuff) ; 

或者 
CANSendData((eCANNUM)0,4,&CanSendBuff)
回复

使用道具 举报

22

主题

110

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
295
金钱
295
注册时间
2012-11-11
在线时间
24 小时
发表于 2014-5-22 13:52:02 | 显示全部楼层
你这个不是结构体,是枚举吧。枚举也不是这样定义的
回复

使用道具 举报

8

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
107
金钱
107
注册时间
2013-5-27
在线时间
6 小时
 楼主| 发表于 2014-5-22 14:02:11 | 显示全部楼层
回复【2楼】狼烟四起:
---------------------------------
喔  是枚举的
留下的终将被留下 明天的总是被明天
回复

使用道具 举报

36

主题

1263

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1612
金钱
1612
注册时间
2012-6-15
在线时间
39 小时
发表于 2014-5-22 16:21:17 | 显示全部楼层
回复【2楼】狼烟四起:
---------------------------------
可以这样定义, 定义为类型
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-5-22 17:17:14 | 显示全部楼层
指向哪一行代码?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

6

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
118
金钱
118
注册时间
2015-3-1
在线时间
19 小时
发表于 2015-3-20 18:24:11 | 显示全部楼层
这个函数是stm32f10x_gpio.c里面的,我只是把它加载进去结果就出现了一个警告,这是为什么呢??

回复

使用道具 举报

6

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
118
金钱
118
注册时间
2015-3-1
在线时间
19 小时
发表于 2015-3-20 18:26:41 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
 GPIO_WriteBit(GPIOA, GPIO_Pin_6, 1); 
只是把这句话加到LED_Init()里面,为什么会出现src\led.c(21): warning:  #188-D: enumerated type mixed with another type这个警告呢??向原子大哥求教。。。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-3-20 22:32:15 | 显示全部楼层
回复【8楼】zb_木杉:
---------------------------------
说明数据类型混用了,加强制转换就是了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-24 19:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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