標(biāo)題: STM32根據(jù)宏定義寫的函數(shù)沒有效果 [打印本頁(yè)]

作者: MirrAKe    時(shí)間: 2021-4-15 19:43
標(biāo)題: STM32根據(jù)宏定義寫的函數(shù)沒有效果
  1. #define digitalTOGGLE(p,i)       {p->ODR ^=i;}
  2. #define LED0_TOGGLE              digitalTOGGLE(LED0_GPIO_PORT,LED0_GPIO_PIN )
  3. #define LED1_TOGGLE              digitalTOGGLE(LED1_GPIO_PORT,LED1_GPIO_PIN )
復(fù)制代碼

上面這段宏定義為什么換成下面這段函數(shù)之后就沒有效果了
  1. void LED_TOGGLE(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin)
  2. {
  3.     GPIOx ->ODR ^= GPIO_Pin;
  4. }
復(fù)制代碼

實(shí)參我用的也是LED0_GPIO_PORT和LED0_GPIO_PIN


作者: munuc_w    時(shí)間: 2021-4-16 08:34
物理地址不能做函數(shù)實(shí)參,我試過,不可用。
作者: MirrAKe    時(shí)間: 2021-4-16 08:49
本帖最后由 MirrAKe 于 2021-4-16 08:51 編輯
munuc_w 發(fā)表于 2021-4-16 08:34
物理地址不能做函數(shù)實(shí)參,我試過,不可用。

函數(shù)不能用物理地址做實(shí)參的話,那些標(biāo)準(zhǔn)庫(kù)里的函數(shù)那些形參是物理地址的為啥可以用啊,就比如說這個(gè)函數(shù):GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1