smartcarextint.c

来自「智能遥控车代码」· C语言 代码 · 共 49 行

C
49
字号
//SmartCarExtINT.c : source file for the SmartCar External Interrupts
//

#include "SmartCar.h"
#include "SmartCarExtINT.h"
#include "Motor.h"
#define Time_Const_38K_Receive_Next 0x82//未定//等待5T延时常数
bool Front_38K_Head=false;
bool Back_38K_Head=false;
extern unsigned int Command_38K;
extern bool Not_Get_NewCommand;
//extern bool wait_conversation;
/////////////////////////////////////////////////////////////////////////////
//SmartCarExtINT

void extint_init(void)
{
	//{{WIZARD_MAP(External IRQ)
	// PCIE0 Enabled
	EICRA |= 0x00;
	PCMSK0 = 0x21;
	EIMSK = 0x00;
	PCICR = 0x01;
	//}}WIZARD_MAP(External IRQ)
}

ISR(SIG_PIN_CHANGE0)
{
	// TODO: Add your code here
		PCMSK0 = 0x00;//关所有引脚电平变化中断
		Not_Get_NewCommand=true;
		TCNT2=(Time_Const_38K_Receive_Next+0x06);
		TIMSK2 = 0x01;//开定时器2中断
		Command_38K=0;//初始化接收数据
		if(bit_is_clear(PINB,0))//前端引脚电平变低为“真”
		{//前面收到38K信号
			Front_38K_Head=true;
		}
		else if(bit_is_clear(PINB,5))//后端引脚电平变低为“真”
		{//后面收到38K信号
			Back_38K_Head =true;
		}
		else
		{//干扰信号或错误发生
			PCMSK0 = 0x21;//开所有引脚电平变化中断
			TIMSK2 = 0x00;//关定时器2中断
		}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?