📄 main.c
字号:
#include <hidef.h>
#include <MC68HC908GZ16.h>
#include <mcu.h>
#include <can.h>
#include <ad.h>
#include <mc33389.h>
#include <mc33984.h>
#include <mc33993.h>
#include <sub_mc33993.h>
#include <sub_mc33984.h>
#include <timer.h>
#include <capture_pulse.h>
void main(void)
{
Init_GZ16(); //初始化MCU
Init_MSCAN08(); //初始化MSCAN
Init_SPI();
Init_PORT();
Init_TBM(); //初始化时基定时器
Init_TIM();
Init_AD();
PTA=0;
delay5ms(10); //10 52ms 1~14有效
Init_MC33389(); //初始化MC33389
LED=0; //工作指示灯
MC33984_WAKE=1; //MC33984启动
MC33984_RESET=1;
MC33984_RESET=0;
MC33984_RESET=1;
Init_MC33984(); //初始化MC33984
fault_flag=1;
Init_MC33993(); //初始化MC33993
Init_CGM(); //初始化时钟发生模块
// sampling_flag=1;
warm_flag=1;
water_flag=0;
sump_flag=0;
choke_zheng=0; //熄火器
choke_fan=0;
chokez_flag=0;
chokef_flag=0;
can_yb_flag=1;
can_qkz_flag=1;
EnableInterrupts; //开中断
for(;;)
{
__RESET_WATCHDOG(); //喂狗
if(VACC_WAKE||INC_WAKE) //电源开关有效、紧急报警有效 正常工作
{
MC33993_STA(); //MC33993开关状态检测
__RESET_WATCHDOG(); //喂狗
sub_chesu(); //计算车速
__RESET_WATCHDOG(); //喂狗
sub_zhuansu(); //计算转速
__RESET_WATCHDOG(); //喂狗
AD_sampling(); //AD采样
__RESET_WATCHDOG(); //喂狗
FAULT_STA(); //MC33984故障判断
__RESET_WATCHDOG(); //喂狗
FAULT_CLR(); //MC33984故障清除
__RESET_WATCHDOG(); //喂狗
OUT_STA(); //执行本地命令输出
__RESET_WATCHDOG(); //喂狗
FAULT_OFF(); //故障关断
}
else
{
MC33984_OUT[0].Byte=0x1a;
MC33984_OUT[1].Byte=0x1a;
MC33984_OUT[2].Byte=0x1a;
MC33984_OUT[3].Byte=0x1a;
MC33984_OUT[4].Byte=0x1a;
MC33984_OUT[5].Byte=0x1a; //雨刮
MC33984_OUT[6].Byte=0x1a; //门
MC33984_OUT[7].Byte=0x1a;
MC33984_OUT[8].Byte=0x1a;
MC33984_OUT[9].Byte=0x1a;
MC33984_OUT[10].Byte=0x1a;
// MC33984_OUT[11].Byte=0x1a;
// MC33984_OUT[11].Bit.BIT0=0; //熄火电磁阀
MC33984_OUT[11].Bit.BIT2=0;
MC33984_OUT[12].Bit.BIT0=0;
MC33984_OUT[13].Byte=0x1a;
// MC33984_OUT[14].Byte=0x1a; //熄火电机
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -