基于 STM32F103VET6 的浮空输入问题求解
/******************** (C) COPYRIGHT 2012 Hou Yongqiang **************************
* 文件名 :main.c
* 描述 :用3.5.0版本建的工程模板。
* 实验平台:STM32
* 库版本 :ST3.5.0
*
* 作者 :Hou Yongqiang
**********************************************************************************/
#include "stm32f10x.h"
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOE, ENABLE); //对GPIOE_Pin_7初始化
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //输出最高频率为50MHz
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //设置为推挽输出
GPIO_Init (GPIOE, &GPIO_InitStructure);
RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOB, ENABLE); //对GPIOB_Pin_6初始化
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; //输出最高频率为10MHz
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //设置为浮空输入
GPIO_Init (GPIOB, &GPIO_InitStructure);
}
/*
* 函数名:main
* 描述 : 主函数
* 输入 :无
* 输出 : 无
*/
int main(void)
{
GPIO_Configuration(); //IO口初始化函数
while(1)
{
// add your code here ^_^。
if( GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_6) ) //判断GPIOB_Pin_6是否是浮空状态
{
GPIO_SetBits (GPIOE, GPIO_Pin_7);
}
else
{
GPIO_WriteBit (GPIOE, GPIO_Pin_7, Bit_RESET);
}
}
}
/******************* (C) COPYRIGHT 2012 Hou Yongqiang *****END OF FILE************/