标题:
STM32根据宏定义写的函数没有效果
[打印本页]
作者:
MirrAKe
时间:
2021-4-15 19:43
标题:
STM32根据宏定义写的函数没有效果
#define digitalTOGGLE(p,i) {p->ODR ^=i;}
#define LED0_TOGGLE digitalTOGGLE(LED0_GPIO_PORT,LED0_GPIO_PIN )
#define LED1_TOGGLE digitalTOGGLE(LED1_GPIO_PORT,LED1_GPIO_PIN )
复制代码
上面这段宏定义为什么换成下面这段函数之后就没有效果了
void LED_TOGGLE(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin)
{
GPIOx ->ODR ^= GPIO_Pin;
}
复制代码
实参我用的也是LED0_GPIO_PORT和LED0_GPIO_PIN
作者:
munuc_w
时间:
2021-4-16 08:34
物理地址不能做函数实参,我试过,不可用。
作者:
MirrAKe
时间:
2021-4-16 08:49
本帖最后由 MirrAKe 于 2021-4-16 08:51 编辑
munuc_w 发表于 2021-4-16 08:34
物理地址不能做函数实参,我试过,不可用。
函数不能用物理地址做实参的话,那些标准库里的函数那些形参是物理地址的为啥可以用啊,就比如说这个函数:GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1