📄 main.c
字号:
#include <hidef.h>
#include <MC68HC908GZ16.h>
#include <mcu.h>
#include <mc33389.h>
#include <can.h>
#include <mc33984.h>
#include <mc33993.h>
#include <sub_mc33984.h>
#include <sub_mc33993.h>
#include <timer.h>
#include <mc33887.h>
void main(void)
{
Init_GZ16(); //初始化MCU
Init_SPI();
Init_PORT();
Init_TBM(); //初始化时基定时器
delay5ms(5); //10 52ms 1~14有效
Init_MC33389(); //初始化MC33389
Init_MSCAN08(); //初始化MSCAN
LED=0; //工作指示灯
PTA=0xff;
MC33984_WAKE=1; //MC33984启动
MC33984_RESET=1;
MC33984_RESET=0;
MC33984_RESET=1;
Init_MC33984(); //初始化MC33984
Init_MC33993(); //初始化MC33993
Init_CGM(); //初始化时钟发生模块
door_open=1; //门标志初始化
door_close=1;
door2_open=1;
door2_close=1;
door_buzzer=0; //门蜂鸣器标志
fail_buzzer=0; //报警蜂鸣器标志
SLEEP_FLAG=0;
VACC_WAKE=1;
INC_WAKE=0;
can_yb_flag=1;
EnableInterrupts; //开中断
asm nop
RD33993(0x00,0x00,0x00);//MC33993状态检测
RD33993(0x00,0x00,0x00);//MC33993状态检测
MC33993_FLAG=1;
MC33993_STA();
can_comm_count=10;
for(;;)
{
__RESET_WATCHDOG(); //喂狗
MC33993_STA(); //MC33993开关状态检测
__RESET_WATCHDOG(); //喂狗
if(MC33984_fault4.Bit.BIT1) MC33984_OUT[12].Bit.BIT2=0; //无故障开 电子钟记忆线
else MC33984_OUT[12].Bit.BIT2=1;
FAULT_STA(); //MC33984故障判断
__RESET_WATCHDOG(); //喂狗
FAULT_CLR(); //MC33984故障清除
__RESET_WATCHDOG(); //喂狗
FAULT_OFF(); //故障关断输出
if(VACC_WAKE||INC_WAKE) //电源开关有效、紧急报警有效 正常工作
{
Moto_work(); //右后视镜操作
__RESET_WATCHDOG(); //喂狗
OUT_STA(); //执行本地命令输出
__RESET_WATCHDOG(); //喂狗
}
else
{
fail_buzzer=0;
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;
if(door_buzzer==0) MC33984_OUT[4].Bit.BIT2=0;
MC33984_OUT[4].Bit.BIT0=0;
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[12].Bit.BIT0=0;
MC33984_OUT[13].Byte=0x1a;
MC33984_OUT[14].Byte=0x1a;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -