关于位操作的小小疑问????

2019-07-20 12:41发布

在教程4  按键输入中 位操作有两个方法 
//#define KEY0 PEin(4)   //PE4
#define KEY0  GPIO_ReadInputDataBit(GPIOE,GPIO_Pin_4)//读取按键0

在实验1  流水灯中 有位操作
//#define DS0 PEin(5)   //PE5
可是我用库函数的位操作如下就会出现问题  main.c(11): error:  #137: expression must be a modifiable lvalue

#define DS0 GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_5)
怎么回事?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
q247341184
1楼-- · 2019-07-21 10:46
 精彩回答 2  元偷偷看……
冰封嗜魔
2楼-- · 2019-07-21 13:46
q247341184 发表于 2017-8-9 14:56
C语言左边不能是表达式= =!!!所以还是不太懂你想表达的意思。读值是个什么概念??读取接口的值的意思 ...

A = DS0可以,但是DS0 = A就不可以,问题不出在你宏定义的地方,出在你使用这个宏定义的地方,按键程序中只是会读KEY0,但是你流水灯中会赋值DS0,这下明白了吧。
haysen
3楼-- · 2019-07-21 14:25
你可以先不要用宏定义,先直接用函数操作,用输了再自己改宏定义 ,就明白了
q247341184
4楼-- · 2019-07-21 16:47
 精彩回答 2  元偷偷看……

一周热门 更多>