stm32f103 学习笔记 —— 02 程序的可移植性

时间:2021-08-11 22:00:21
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

#万一