設置 | 登錄 | 註冊

目前共有5篇帖子。

【讲解】与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函数有本质区别。

內容轉換:

回覆帖子
內容:
用戶名: 您目前是匿名發表。
驗證碼:
看不清?換一張
©2010-2025 Purasbar Ver3.0 [手機版] [桌面版]
除非另有聲明,本站採用知識共享署名-相同方式共享 3.0 Unported許可協議進行許可。