有时候需要设置端口为输入或输出,例如使用位带操作前,一定要注意事先设置端口为IN或OUT。
利用宏定义,可以方便设置某个GPIO口的某个引脚为输入或输出。
[mw_shl_code=c,true]
#define PIN(m,n) {GPIO##m->MODER &= ~(3<<(2*n));GPIO##m->MODER |= 0<<(2*n);}
#define POUT(m,n) {GPIO##m->MODER &= ~(3<<(2*n));GPIO##m->MODER |= 1<<(2*n);}
[/mw_shl_code]
例如,想让GPIOF9为输入,则有PIN(F,9);
想让GPIOB2为输出,则有POUT(B,2); |