作者共發了5篇帖子。 字體大小:較小 - 100% (默認)▼  內容轉換:不轉換▼
 
點擊 回復
451 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)
 

本帖信息

點擊數:451 回複數:4
評論數: ?
作者:巨大八爪鱼
最後回復:巨大八爪鱼
最後回復時間:2016-6-30 18:45
 
©2010-2024 Arslanbar Ver2.0
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。