请教一下各位大侠 函数参数调用问题

[复制链接]
2090|4
 楼主| abtc1130 发表于 2012-12-26 12:23 | 显示全部楼层 |阅读模式
最近本菜鸟开始学习32!今天在写流水灯时有个问题一直没搞明白!在这请教下各位

为什么在调用使能时钟函数RCC_APB2PeriphClockCmd时能再里面同时输入2个GPIO参数!
如RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD,ENABLE);

但是GPIO初始化时!GPIO_Init()不能同时输入2个参数!如果同时输入就会报错
GPIO_Init(GPIOA|GPIOD,&GPIO_InitStructure);               //这样会报错

想要初始化2个不同GPIO就只能写2条
        GPIO_Init(GPIOA,&GPIO_InitStructure);
        GPIO_Init(GPIOD,&GPIO_InitStructure);
 楼主| abtc1130 发表于 2012-12-26 12:26 | 显示全部楼层
这是我写的GPIO初始化程序!
QQ截图20121226115833.png
huangxz 发表于 2012-12-26 14:33 | 显示全部楼层
void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)
第一个参数是指针啊,怎么可以|啊
uet_cache 发表于 2012-12-26 15:10 | 显示全部楼层
时钟配置函数,那个是或的关系,或后送到相同的寄存器。后面是IO配置,每个GPIO是独立的寄存器,不能进行或处理,当然要一个IO一个IO的赋值了。这样讲,可明白?
 楼主| abtc1130 发表于 2012-12-26 22:40 | 显示全部楼层
uet_cache 发表于 2012-12-26 15:10
时钟配置函数,那个是或的关系,或后送到相同的寄存器。后面是IO配置,每个GPIO是独立的寄存器,不能进行或 ...

:o嗯!明白了!以前C和数据结构没学好!51还好!现在学32看着各种指针和数据结构就有点吃力
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

36

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部