完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#defineGPIOB_BASE(0x50004040)// GPIOB Control Registers
GPIO_T GPIOB __attribute__((at(GPIOB_BASE), zero_init)); typedefstruct { GPIO_PMD_TPMD;// GPIO Port Bit Mode Control GPIO_OFFD_TOFFD;// GPIO Port Bit OFF Digital enable GPIO_DOUT_TDOUT;// GPIO Port Data Output Value GPIO_DMASK_TDMASK;// GPIO Port Data Output Write Mask GPIO_PIN_TPIN;// GPIO Port Pin Value __I uint32_tRESERVE; GPIO_IMD_tiMD;// GPIO Port Interrupt Mode Control GPIO_IEN_TIEN;// GPIO Port Interrupt Enable GPIO_ISRC_TISRC;// GPIO Port Interrupt Source Flag } GPIO_T; DrvGPIO_EnableQuasiPins(&GPIOB,PORTB_TRGKEY_PINS);// Enable pins which are configured as quasi-mode for PGIOB void DrvGPIO_EnableQuasiPins(GPIO_T* pGPIO, UINT32 u32Pins) ;=========================================== #define GPIOB_BASE (APB2PERIPH_BASE + 0x0C00) #define GPIOB ((GPIO_TypeDef *) GPIOB_BASE) typedef struct { __IO uint32_t CRL; __IO uint32_t CRH; __IO uint32_t IDR; __IO uint32_t ODR; __IO uint32_t BSRR; __IO uint32_t BRR; __IO uint32_t LCKR; } GPIO_TypeDef; GPIO_Init(GPIOB, &GPIO_InitStructure); //根据设定参数初始化GPIOB.5 void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct) ;=================================================== 以上有两个问题还请大家帮忙解答一下: (1) GPIO_TGPIOB__attribute__((at(GPIOB_BASE), zero_init)); 请问这样的定义是什么意思呢? __attribute__的用法还是第一次见到,不知道它的作用是什么,网上说是设置什么属性的,但是解释的不是很清楚 还请大家帮忙解答一下 (2) 第二个问题是关于结构体与结构体指针做函数参数的疑惑 GPIO_T GPIOB 这个定义应该是GPIOB被定义成GPIO_T型的结构体吧 而 #define GPIOB ((GPIO_TypeDef *) GPIOB_BASE) 这个是把GPIOB强制转换成GPIO_TypeDef型的结构体指针 而两者在做函数参数的时候前者需要加&符号,后者是不需要的, 这样的原因是不是前者是结构体,而后者是结构体指针的原因? 如果不是的话,还请大家帮忙解答下,谢谢! ① DrvGPIO_EnableQuasiPins(&GPIOB,PORTB_TRGKEY_PINS); // Enable pins which are configured as quasi-mode for PGIOB void DrvGPIO_EnableQuasiPins(GPIO_T* pGPIO, UINT32 u32Pins) ② GPIO_Init(GPIOB, &GPIO_InitStructure); //根据设定参数初始化GPIOB.5 void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct) |
|
相关推荐
1个回答
|
|
1,这个按我的理解就是,定义GPIO_T GPIOB ,GPIOB的地址是:GPIOB_BASE,且,初始化GPIOB所有数据为0.
2,前者是结构体,后者是结构体指针。 |
|
|
|
只有小组成员才能发言,加入小组>>
请问下图大疆lightbridge2遥控器主板电源芯片型号是什么?
4440 浏览 1 评论
使用常见的二极管、三极管和mos做MCU和模组的电平转换电路,但是模组和MCU无法正常通信,为什么?
311浏览 2评论
为了提高USIM卡电路的可靠性和稳定性,在电路设计中须注意的点有哪些?
295浏览 2评论
311浏览 2评论
310浏览 2评论
352浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 06:00 , Processed in 0.788678 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号