• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

关于stm32标准库的小小疑问

FEItwo 2019-08-31 浏览量:911
stm32新手上路,请各位帮助帮助
一个关于stm32标准库的小小疑问。
#define GPIOA               ((GPIO_TypeDef *) GPIOA_base)
这是标准库中GPIOA的宏定义
void GPIO_DeInit(GPIO_TypeDef* GPIOx)这是标准库中的一个函数
  就是想问一下这个函数里边的参数,比如说要传GPIOA那这个函数里边参数不就是GPIO_TypeDef* GPIOA吗,这个GPIOA再换成那个宏定义,最后不就变成GPIO_TypeDef*(GPIO_TypeDef* GPIOx)了吗,这样符合吗?麻烦看见的各位回答一下吧,想不明白
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 是的,GPIOA是一个指针,类型为GPIO_TypeDef *, 指向的地址是GPIOA_base,这个地址就是端口A控制寄存器基址。
    • 发布于 2019-08-31
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:3
  • void GPIO_DeInit(GPIO_TypeDef* GPIOx)中的GPIOx是一个​GPIO_TypeDef类型的指针,而不是指针的指针,这是C语言结构体指针作为参数的基本用法
    • 发布于2019-08-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 参数类型相同是可以的,最终传入的是GPIOA_base这个地址
    • 发布于2019-09-01
    • 举报
    • 评论 0
    • 0
    • 0

  • GPIOA是一个指针GPIOA_base是指向的地址。其实就是把GPIOA的寄存器map定义为一个结构体数据类型,然后把GPIOA寄存器map地址当做形参传递过去
    • 发布于2019-09-03
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

关于stm32标准库的小小疑问