求教:c语言 定义一个宏函数,根据传入的a值,switch case 执行不同的函数

2019-07-21 08:27发布

如题:
TIM图片20181030172550.png TIM图片20181030172529.png
本想根据传入的值,执行相应的宏定义,但是编译出错,提示“ error:  #29: expected an expression (期望为一个表达式)”
求大佬给一个解决方案。 感谢各位大佬。。



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
贝克街的老鼠
1楼-- · 2019-07-21 13:29
期望为一个表达值是因为你没有条件来进入case里面,无法给a赋值比如你设置的123456啥的,你需要加一个for会好一点,比如   if(某某)
{a=0;}if(另一个判断式)
{a=1;}
lvkanger
2楼-- · 2019-07-21 14:11
PGin()函数有问题吧
warship
3楼-- · 2019-07-21 19:03
 精彩回答 2  元偷偷看……
hgr211
4楼-- · 2019-07-21 19:25
本帖最后由 hgr211 于 2018-10-31 08:53 编辑

多此一举。楼上正解
tgw860910
5楼-- · 2019-07-22 00:49
楼主想表达的意思是兼容性更好一点,万一哪天改板了,IO口定义变了,只需要改一下IO口的定义引脚就可以了,不需要修改这个宏,而且楼主的宏还有一定的防错处理,简单的 #define Cs_In(a)     PGin(16-a) 并不能完全替代这个宏。

我个人觉得用 if else 代替 switch 好一点

xiatianyun
6楼-- · 2019-07-22 01:39
这个要看你是怎么使用这个宏的,可能的情况是使用时出错。

一周热门 更多>