作者共发了5篇帖子。 内容转换:不转换▼
 
点击 回复
306 4
【讲解】与GPIO操作有关的8个库函数
一派护法 十九级
1楼 发表于:2016-6-30 18:38
一派护法 十九级
2楼 发表于:2016-6-30 18:38
与GPIO操作有关的8个库函数 
GPIO_ReadInputData(GPIOB) 读取GPIOx中全部I/O口的输入电平,相当于GPIOx->IDR
GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_8 | GPIO_Pin_11) 判断所给出的I/O口列表中是否有输入为高电平的端口。如果有就返回1,否则返回0
GPIO_ReadOutputData(GPIOB) 读取单片机向GPIOx全部I/O口上输出的电平,相当于GPIOx->ODR
GPIO_Write(GPIOB, 0x38) 设置GPIOx中全部I/O口的输出电平,相当于GPIOx->ODR = xxx
GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_8 | GPIO_Pin_11) 判断所给出的I/O口列表中是否有输出高电平的端口。如果有就返回1,否则返回0
GPIO_WriteBit(GPIOB, GPIO_Pin_1 | GPIO_Pin_2, Bit_SET) 使指定I/O口全部输出指定电平
 
GPIO_ResetBits(GPIOB, GPIO_Pin_1 | GPIO_Pin_2) 使指定I/O口输出低电平,相当于GPIOx->BRR = xxx
GPIO_SetBits(GPIOB, GPIO_Pin_1 | GPIO_Pin_2) 使指定I/O口输出高电平,相当于GPIOx->BSRR = xxx
一派护法 十九级
3楼 发表于:2016-6-30 18:41
GPIOx->IDR寄存器相当于AVR中的PINx,用于读取整个I/O口的输入状态
GPIOx->ODR寄存器相当于C51中的Px和AVR中的PORTx,用于读取和设置整个I/O口的输出状态
一派护法 十九级
4楼 发表于:2016-6-30 18:42
注意GPIO_ReadOutputDataBit和GPIO_WriteBit的细微差别。前者是只要有一个端口是高电平就返回1,后者是把所有列出的端口都设为指定电平。
一派护法 十九级
5楼 发表于:2016-6-30 18:45
GPIO_SetBits中的set的意思是“设为输出高电平”的意思,并不是“设置”的意思。
因此GPIO_WriteBit和GPIO_SetBits函数有本质区别。

回复帖子

内容:
用户名: 您目前是匿名发表
验证码:
(快捷键:Ctrl+Enter)
 

本帖信息

点击数:306 回复数:4
评论数: ?
作者:巨大八爪鱼
最后回复:巨大八爪鱼
最后回复时间:2016-6-30 18:45
 
©2010-2024 Arslanbar Ver2.0
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。