📄 main.c
字号:
#include<config.h>
#include<head.h>
#include<main.h>
#pragma OPTIMIZE(9)
void (* pFuntion)(MSG *Msg);
BOOL tempbit;
code void(*S_Funtab[])(MSG *)={s_stopfun,s_startfun,s_syssetfun,s_usersetfun,s_weightfun};
#define US_Startfun SS_Startfun
code void(*US_Funtab[])(MSG *)={US_Startfun,US_Unitsetfun,US_Funsetfun,US_Holdsetfun,US_Comsetfun};
code void(*SS_Funtab[])(MSG *)={SS_Startfun,SS_Filsetfun,SS_Weisetfun,SS_Linsetfun,SS_Calsetfun};
/**************************************************************************
* 函数原型:void main(void);
* 功 能:主程序,进行系统初始化和称重等操作。
**************************************************************************/
void main(void)
{
MSG pMsg;
MessageInit();
systimeinit(); //系统时间初始化
lcd_init(); //LCD驱动初始化
aprintf(0x00,"Y1C-1.1");
beep(200);
DataInit(); //24c02初始化
key_init(); //按键驱动初始化
ComInit();
//LoadData();
adinit(); //AD芯片初始化
setstate(S_START);
while(1)
{
if(GetMessage(&pMsg)) //取得消息
{
pretreatmentmsg(&pMsg);//预处理信息
OSMsgDo(&pMsg); //公共消息处理
pFuntion(&pMsg); //调用当前状态对应处理函数
}
}
}
void pretreatmentmsg(MSG *pMsg)
{
switch(pMsg->message)
{
case M_KEYUP:
PostMessage(M_CHAR,pMsg->param);
break;
}
}
void OSMsgDo(MSG *pMsg)
{
switch(pMsg->message)
{
case M_ADHAD:
AdDo();
break;
}
}
void setstate(Uchar state)
{
pFuntion=S_Funtab[state];
PostMessage(M_REFURBISH,Sys_State);
Sys_State=state;
fun_state=0;
cfun_state=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -