我为RC滑翔机开发RC开关。 我有microkontroller Microchip PIC10F202,我的ON / OFF LED灯有问题。 我想从RC接收器触发输入PPM信号,我将GP2设置为输入(通过T0CKI并计算每个上升沿 - 从低到高),但LED仍然亮,不对来自RC接收器的输入信号作出反应。 我用C语言发布我的源代码,我不能用ASM语言。
//这是包含一些宏和函数原型的头文件
#ifndef XC_HEADER_TEMPLATE_H
#define XC_HEADER_TEMPLATE_H
#include <xc.h>
#define _XTAL_FREQ 4000000
#define KONST_ON 50
#define KONST_OFF 1000
#define STROBO_LED GP0
#define NAVI_LED GP1
#define RC_SIGNAL GP2
#define STAV_ON 1
#define STAV_OFF 0
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
void setup ();
void flashing ();
#endif
//在此功能中设置microkontroller
#include <xc.h>
#include "prototypy.h"
void setup ()
{
OSCCAL = 0b0111111;
//STATUS = 0b00111000;
OPTION = 0b11100111;
TRISGPIO = 0b0000;
};
//这是LED闪烁的功能
#include <xc.h>
#include "prototypy.h"
void flashing ()
{
__delay_ms (KONST_OFF);
STROBO_LED = STAV_OFF;
__delay_ms (KONST_ON);
STROBO_LED = STAV_ON;
};
//在这个主函数中我做逻辑积,其中我有来自引脚GP2和数字1的逻辑状态
#include <xc.h>
#include "prototypy.h"
// Code protection bit
#pragma config CP = OFF
// Watchdog timer
#pragma config WDTE = OFF
// Pin function
#pragma config MCLRE = OFF
void main ()
{
setup ();
while (1)
{
if (RC_SIGNAL & 1)
{
flashing ();
}
}
}
请帮助我,有人帮忙并在我的源代码中发现错误吗?
答案 0 :(得分:0)
我并不熟悉这个,但我猜你的Pin RC_SIGNAL没有配置为输入。请尝试
TRISGPIO = 0b0100;