⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smartcarextint.c

📁 智能遥控车代码
💻 C
字号:
//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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -