📄 smartcarextint.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 + -