发 帖  
张飞软硬开源:基于MST32的BLDC直流无刷电机驱动器,👉戳此立抢👈
[问答] 参数类型不兼容
269 参数
分享
volatile u8 receive_buf[BUFFER_SIZE] ={0};         
void clear_buffer(u8 *buf)

然后
clear_buffer(receive_buf);//这句总是有警告:
..\User\src\protocol.c(149): warning:  #167-D: argument of type "volatile u8 *" is incompatible with parameter of type "u8 *"
怎么改一下呢?
0
2019-1-7 08:50:57   评论 分享淘帖 邀请回答
5个回答
参数类型不匹配,一个是volatile u8*,一个是u8*,可以尝试以下方法。
①修改函数clear_buff形参为volatile u8*,或者修改recveive_buff为u8类型的数组
②或者修改编选项,屏蔽掉此警告信息
2019-1-7 09:01:36 评论

举报

本帖最后由 toofree 于 2018-5-15 12:10 编辑

C语言得好好回炉一下,
有个名词叫,强制类型转换。

clear_buffer((u8 *)receive_buf);
2019-1-7 09:11:42 评论

举报

最好的方式就是强制类型转换,方法如楼上所示。或者在编译器中屏蔽掉这一类型的警告,通常不建议,方法添加 --diag_suppress=167 ,这个数字就是警告代码
2019-1-7 09:28:52 评论

举报

void clear_buffer(u8 *buf)
是一个函数说明,少了分号
2019-1-7 09:47:59 评论

举报

结贴:采用的是强制类型转换
2019-1-7 09:53:10 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

我要提问
课程
    关闭

    站长推荐 上一条 /8 下一条

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