下面这些代码怎么理解

2019-03-23 19:55发布

#define Set_Cs        GPIOD->ODR  |= ( 1<<12 );
#define Clr_Cs        GPIOD->ODR  &= ~( 1<<12 ); #define Set_Rs        GPIOD->ODR  |= ( 1<<13 );
#define Clr_Rs        GPIOD->ODR  &= ~( 1<<13 ); #define Set_nWr       GPIOD->ODR  |= ( 1<<14 );
#define Clr_nWr       GPIOD->ODR  &= ~( 1<<14 ); #define Set_nRd       GPIOD->ODR  |= ( 1<<15 );
#define Clr_nRd       GPIOD->ODR  &= ~( 1<<15 );     新手求指导 这是从lcd驱动上写下的一段代码,对寄存器的操作,看不懂怎么回事,求指导 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
1条回答
seasky208
1楼-- · 2019-03-24 02:37
/ GPIOD->ODR  |= ( 1<<12 );
表示对GPIO->ODR寄存器的第12位置一;
GPIOD->ODR  &= ~( 1<<12 );
表示对GPIO->ODR寄存器的第12位清零;
这是C语言里典型的位操作用法

一周热门 更多>