OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4317|回复: 4

各种函数初始化或者置位复位函数,参数里的引脚,什么时候可以用 “|”的关系,什么时候只能多次调用函数呢?

[复制链接]

2

主题

5

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2015-7-17
在线时间
4 小时
发表于 2015-7-21 22:52:36 | 显示全部楼层 |阅读模式
5金钱


为什么 GPIO_SetBit 参数可以一次传递两个参数(GPIO_Pin_9 与 GPIO_Pin_10),而 SYSCFG_EXTILineConfig()却不能用类似的方法呢?

最佳答案

查看完整内容[请看2#楼]

看函数的说明。。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2015-7-21 22:52:37 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
157
金钱
157
注册时间
2016-1-11
在线时间
40 小时
发表于 2016-3-12 07:29:40 | 显示全部楼层
楼主什么意思
回复

使用道具 举报

1

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
157
金钱
157
注册时间
2016-1-11
在线时间
40 小时
发表于 2016-3-12 07:30:06 | 显示全部楼层
那句话为什么不行,谢谢
回复

使用道具 举报

2

主题

5

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2015-7-17
在线时间
4 小时
 楼主| 发表于 2016-10-10 15:47:49 | 显示全部楼层
先上这两张图。#define EXTI_PortSourceGPIOA       ((uint8_t)0x00)
#define EXTI_PortSourceGPIOB       ((uint8_t)0x01)


EXTI_PortSourceGPIOA   | EXTI_PortSourceGPIOB        实际值是0x00 | 0x01 = 0x01,所以按位或运算结果就出错。
而由库函数:
#define GPIO_Pin_0                 ((uint16_t)0x0001)  /* Pin 0 selected */
#define GPIO_Pin_1                 ((uint16_t)0x0002)  /* Pin 1 selected */


GPIO_Pin_0  |  GPIO_Pin_1         
实际值是0x01 | 0x02  =
   0000 0001
|  0000 0010
------------------------
   0000 0011  =0x03.这样就把GPIO_Pin_0与GPIO_Pin_1同时设置了。


其他情况,以此类推即可。
12.png
13.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-28 21:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表