STM32 按键扫描方式 使用ST3.0.0库
========================================================================================
GPIO置1操作:
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
例如:
GPIO_SetBits(GPIOC, GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5);
这个函数是对一组端口的一些位置1,对PC3 PC4 PC53个引脚一起置1。GPIO_SetBits的作用是对一个端口16个引脚一起赋值。
例如:端口 GPIOC端口,对所有的引脚都置1,可以
GPIO_SetBits(GPIOC, GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 ... GPIO_Pin_15);把所有引脚都置1.
========================================================================================
GPIO清零操作:
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
例如:
GPIO_ResetBits(GPIOC, GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5);
对一个端口的几个引脚清零。PC3 PC4 PC5清零引脚。
=======================================================================================
当引脚为输入模式时读引脚的电平值,是高电平还是低电平
uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
例如:
if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0) == 1)
{}
检查输入引脚PB0引脚是0还是1
=======================================================================================
当引脚为输出状态时,读引脚的输出寄存器值,
uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
例如:
(BitAction)((1-GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_3)
看当前时刻PC3是输出0还是输出1。
============================================================================================
对某一位操作,可以写0也可以写1,既可以置1也可以清0
void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal)
例如:
GPIO_WriteBit(GPIOC, GPIO_Pin_3, Bit_SET);//PC3置1
GPIO_WriteBit(GPIOC, GPIO_Pin_3, Bit_RESET);//PC3清0
==============================================================================================
对端口直接赋值
void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal)
例如:
可以直接对PC0赋值为1,其他引脚都为0。
GPIO_Write(GPIOC,0x01);//PC0=1,其他引脚为0
STM32按键扫描方 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)