求解答一下#define那两行的作用 不是很懂

img

以第一行GPIOB为例
你看芯片手册里的GPIOB的寄存器那一节,就能很容易理解
假设GPIOB_BASE为0x1000,则根据图上的代码描述,GPIOB的CRL寄存器地址是0x1000, CRH寄存器地址是0x1004,IDR寄存器地址是0x1008....
所以如果你要在代码里修改GPIOB的相关寄存器只需要
GPIOB->IDR=0;
这样的写法,阅读性很高,你也不用去记IDR寄存器的具体地址