STM32中的IDR和ODR寄存器

#define WARM_KEY_PIN     (GPIOC->IDR&(1<<5))
#define Speak(tmp)       GPIOA->ODR=tmp?(GPIOA->ODR|1<<12):(GPIOA->ODR&(~(1<<12)))

(1)IDR是查看引脚电平状态用的寄存器,ODR是引脚电平输出的寄存器。

(2)1<<5表示:1左移5位(0000 0001---->0010 0000)


1、->在C语言中称为间接引用运算符,是二目运算符,优先级同成员运算符“.”。
2、用法:
p->a,其中p是指向一个结构体的指针,a是这个结构体类型的一个成员。表达式p->a引用了指针p指向的结构体的成员a。
3、例如:
struct T
{
 int a;
 char b;
}s;
struct T* p=&s;
那么,p->a相当于s.a。显然,有个等价写法:(*p).a,和p->a完全等效。

你可能感兴趣的:(STM32)