main.c
来自「客车车身控制模块 分为仪表部分 前控左 前控右 尾控和中控程序模块」· C语言 代码 · 共 97 行
C
97 行
#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>
void main(void)
{
Init_GZ16(); //初始化MCU
Init_SPI();
Init_PORT();
Init_TBM(); //初始化时基定时器
Init_AD();
delay5ms(10); //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
fault_flag=1;
Init_MC33993(); //初始化MC33993
Init_CGM(); //初始化时钟发生模块
door_flag=0;
door_open=1;
door_close=1;
// sampling_flag=1;
fuel_flag=1;
air1_flag=0;
air2_flag=0;
can_yb_flag=1;
can_qkz_flag=1;
EnableInterrupts; //开中断
for(;;)
{
__RESET_WATCHDOG(); //喂狗
if(VACC_WAKE||INC_WAKE) //电源开关有效、紧急报警有效 正常工作
{
sleep_count=0;
AD_sampling();
__RESET_WATCHDOG(); //喂狗
MC33993_STA(); //MC33993开关状态检测
__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[12].Byte=0x1a;
// MC33984_OUT[13].Byte=0x1a; //后门电磁阀控制
MC33984_OUT[14].Byte=0x1a;
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?