目前共有5篇帖子。
字体大小:较小 - 100% (默认)  内容转换:不转换
 
点击 回复
1543 4
GPIO_CRH/CRL配置方法
巨大八爪鱼
武林盟主 二十一级
回复
1楼 发表于:2016-11-22 23:01
每1位16进制数表示一个I/O端口。
1为10MHz推挽输出(推挽输出适合直接驱动)(复用为9)
2为2MHz推挽输出(复用为a)
3为50MHz推挽输出(复用为b)

5为10MHz开漏输出(开漏输出适合接三极管基极)(复用为d)
6为2MHz开漏输出(复用为e)
7为50MHz开漏输出(复用为f)

0为模拟输入
4为无默认值的输入
8为带上下拉的输入(ODR=0为下拉,1为上拉),上拉输入表示默认值为1,下拉输入表示默认值为0
c被保留
巨大八爪鱼
武林盟主 二十一级
回复
2楼 发表于:2016-11-22 23:04
设置的时候用8位的十六进制数就行了,每一位代表一个I/O口。
例如:
GPIOB->CRL = 0x11111111;
就把PB7~0都设为了10MHz推挽输出。最低位为PB0

CRH对应PB15~8
巨大八爪鱼
武林盟主 二十一级
回复
3楼 发表于:2016-11-22 23:06
当使用带上下拉电阻的输入模式时,该端口对应的ODR位的值就表示默认的输入电平。
当该端口悬空时,IDR=ODR。否则IDR就等于输入的电平值。
巨大八爪鱼
武林盟主 二十一级
回复
4楼 发表于:2016-11-22 23:11
最常用的就是1、2、3(输出),8(输入)。
巨大八爪鱼
武林盟主 二十一级
回复
6楼 发表于:2017-1-15 14:16
【推挽与开漏的区别】
推挽输出:可以输出高质量的低电平和高电平
开漏输出:可以输出高质量的低电平,不能输出高电平(只能输出高阻态)。
回复帖子
内容:
用户名: 您目前是匿名发表。
验证码:
看不清?换一张
(快捷键:Ctrl+Enter)
本帖信息
点击数:1543 回复数:4
作者:巨大八爪鱼
最后回复:巨大八爪鱼
最后回复时间:2017-1-15 14:16
公告板