OpenEdv-开源电子网

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

库函数中的端口配置问题

[复制链接]

2

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2015-8-12
在线时间
5 小时
发表于 2015-9-7 22:27:25 | 显示全部楼层 |阅读模式
5金钱
typedef enum
{ GPIO_Mode_AIN = 0x0,
  GPIO_Mode_IN_FLOATING = 0x04,
  GPIO_Mode_IPD = 0x28,
  GPIO_Mode_IPU = 0x48,
  GPIO_Mode_Out_OD = 0x14,
  GPIO_Mode_Out_PP = 0x10,
  GPIO_Mode_AF_OD = 0x1C,
  GPIO_Mode_AF_PP = 0x18
}GPIOMode_TypeDef;

这个枚举中的定义我不是很清楚,例如上拉是0x48与下拉0x28 
下拉转成二进制 0010 1000
上拉转成二进制 0100 1000
根据这个配置图后四位1000代表是上下拉输入那为什么0010是下拉,0100是上拉呢?
开漏输出0x14转成二进制0001 0100 根据下表不是代表浮空输入吗?怎么会配置成开漏输出的呢?


最佳答案

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

进入库函数的设置函数里面,分析代码(寄存器如何设置的)即可得解脱。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-9-7 22:27:26 | 显示全部楼层
进入库函数的设置函数里面,分析代码(寄存器如何设置的)即可得解脱。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2015-8-12
在线时间
5 小时
 楼主| 发表于 2015-9-7 23:12:15 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
stm32f10x_gpio.c
是在这个里面吗?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

2

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2015-8-12
在线时间
5 小时
 楼主| 发表于 2015-9-22 23:06:16 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
原子大哥救救我吧·看不懂啊····给个提示啥的··
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-9-22 23:10:54 | 显示全部楼层
回复【5楼】ash401:
---------------------------------
百度,或者论坛搜索.
论坛也有其他网友发过资料
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2015-8-12
在线时间
5 小时
 楼主| 发表于 2015-9-24 22:29:05 | 显示全部楼层
但是STM32官方库是 8位,今天查了下发现 高4位其实是没用的,只是标识作用,0x1表示输出,0表示输入。 
具体(uint32_t)GPIO_InitStruct->GPIO_Mode) & ((uint32_t)0x0F);  清除高4位

((uint32_t)GPIO_InitStruct->GPIO_Mode) & ((uint32_t)0x10)) != 0x00) //输出模式,与0X10相与
我知道了·谢谢了原子大哥
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 01:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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