学前班
最后登录1970-1-1
在线时间 小时
注册时间2014-10-13
|
小弟刚弄stm32,有问题请教。光电开关通时为高电平,被遮挡时为低电平,想通过引脚高低电平的检测控制其他引脚高低电平的输出来点亮灯,在光电开关不被遮挡时,PC13输出低电平,被遮挡时PC13输出高电平以点亮小灯,不知道哪里出问题了,请各位大虾看看,谢谢。
LED.C
#include "led.h"
/*
* oˉêyÃû£oLED_GPIO_Config
* Ãèêö £oÅäÖÃLEDóÃμ½μÄI/O¿ú
* êäèë £oÎT
* êä3ö £oÎT
*/
void LED_GPIO_Config(void)
{
/*¶¨òåò»¸öGPIO_InitTypeDefààDíμĽá11ìå*/
GPIO_InitTypeDef GPIO_InitStructure;
/*¿aÆôGPIOCμÄíaéèê±Öó*/
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE);
/*Ñ¡Ôñòa¿ØÖÆμÄGPIOCòy½Å*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
/*éèÖÃòy½ÅÄ£ê½Îaí¨óÃíÆíìêä3ö*/
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
/*éèÖÃòy½ÅËùÂêÎa50MHz */
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
/*μ÷óÿaoˉêy£¬3õê¼»ˉGPIOC*/
GPIO_Init(GPIOC, &GPIO_InitStructure);
/* 1رÕËùóDledμÆ */
// GPIO_SetBits(GPIOC, GPIO_Pin_13);
}
led.h的
#ifndef __LED_H
#define __LED_H
#include "stm32f10x.h"
/* the macro definition to trigger the led on or off
* 1 - off
- 0 - on
*/
//#define ON 0
//#define OFF 1
////′ø2Îo꣬¿éòÔÏñÄúáaoˉêyò»Ñùê1óÃ
//#define LED1(a) if (a) \
// GPIO_SetBits(GPIOC,GPIO_Pin_13);\
// else \
// GPIO_ResetBits(GPIOC,GPIO_Pin_13)
void LED_GPIO_Config(void);
#endif /* __LED_H */
main.c的
#include "stm32f10x.h"
#include "led.h"
u8 ReadValue;
void OPT_GPIO_Config(void)
{
/*¶¨òåò»¸öGPIO_InitTypeDefààDíμĽá11ìå*/
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
//GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOC, &GPIO_InitStructure);
// portstatus == GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_7);
ReadValue = GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_7);
}
//void Delay(__IO u32 nCount);
/*
* oˉêyÃû£omain
* Ãèêö £oÖ÷oˉêy
* êäèë £oÎT
* êä3ö £oÎT
*/
int main(void)
{
OPT_GPIO_Config();
/* LED ¶Ë¿ú3õê¼»ˉ */
LED_GPIO_Config();
if (ReadValue)
GPIO_ResetBits(GPIOC,GPIO_Pin_13);
else
GPIO_SetBits(GPIOC,GPIO_Pin_13);
}
//void Delay(__IO u32 nCount) //¼òμ¥μÄÑóê±oˉêy
//{
// for(; nCount != 0; nCount--);
//}
/******************* (C) COPYRIGHT 2012 WildFire Team *****END OF FILE************/
|
|