1.定义带参宏:
例如:#define PortIO(bitnum)*(unsigned int *)((addr&0xF0000000)+ 0x02000000 +((addr&0x00FFFFFF)<< 5)+(bitnum << 2))
2.使用宏定义代替函数中与硬件有关的变量
3.宏定义函数:
例如:#define GPIO_LED_TOGGLE {GPIO_LED_PORT-> ODR ^ = GPIO_LED_PIN;}
例如:#define GPIO_LED(a)if(a)GPIO_ResetBits(GPIO_LED_PORT,GPIO_LED_PIN); 其他GPIO_SetBits(GPIO_LED_PORT,GPIO_LED_PIN);
4.防止头文件重复调用:
#ifndef __XXX
#define __XXX
#万一