OpenEdv-开源电子网

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

函数式如何使GPIO置1的

[复制链接]

5

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2013-11-4
在线时间
0 小时
发表于 2013-11-21 10:58:45 | 显示全部楼层 |阅读模式
看讲义有点不明白   假如我想把GPIOB.5输出 1,那么方法为:
void GPIO_SetBits(GPIOB, GPIO_Pin_5); 
我看了先 GPIO_SetBits()函数     而且BSRR寄存器我也看了  就是向低16位哪位写1 对应的那个脚就输出高电平

void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{
  /* Check the parameters */
  assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
  assert_param(IS_GPIO_PIN(GPIO_Pin));
  
  GPIOx->BSRR = GPIO_Pin;
}

可是按照函数  BSRR=5  ?  要是数值5的话   就是0000 0101 岂不是把第0位和第2位置1了? 
   有点不懂   请指教    


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2013-11-21
在线时间
0 小时
发表于 2013-11-21 13:48:51 | 显示全部楼层
GPIO_Pin_5=0x0020

回复【楼主位】share7we:
---------------------------------
我不是正点原子。。正点原子的淘宝小店:http://shop62103354.taobao.com
回复 支持 反对

使用道具 举报

0

主题

10

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2013-7-19
在线时间
2 小时
发表于 2013-11-21 15:55:12 | 显示全部楼层
是第5位, 不是2进制的 5吧

回复 支持 反对

使用道具 举报

5

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2013-11-4
在线时间
0 小时
 楼主| 发表于 2013-11-22 08:04:13 | 显示全部楼层
回复【2楼】正点质子:
---------------------------------
为什么是0x0020?    库函数中有定义?
回复 支持 反对

使用道具 举报

5

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2013-11-4
在线时间
0 小时
 楼主| 发表于 2013-11-22 08:04:52 | 显示全部楼层
回复【2楼】正点质子:
---------------------------------
好吧  找到了   谢谢
回复 支持 反对

使用道具 举报

5

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
61
金钱
61
注册时间
2013-11-4
在线时间
0 小时
 楼主| 发表于 2013-11-22 08:05:11 | 显示全部楼层
回复【3楼】xindong421:
---------------------------------
确实是   库函数中有定义。。。
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-8 22:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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