通过光电开关来采集信息,当光电开关检测到物体,光电开关输出一个低电平,F103采集到该电平,控制指南者开发板的LED亮,为什么实验现象不
对应呢,难道是光电开关烧坏了?非常着急,麻烦会的大佬给指导一下。代码如下:
#include "stm32f10x.h"
void G_D_1(void);
void LED_Init(void);
int main(void)
{
G_D_1();
LED_Init();
while(1)
{
if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_7)==0)
{
GPIO_SetBits(GPIOB,GPIO_Pin_0);//灭
}
else
{
GPIO_ResetBits(GPIOB,GPIO_Pin_0);//亮
}
}
}
void G_D_1(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
}
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
}
|