亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.c

?? dallas單總線溫度傳感器驅動程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
//********************** 主處理 ****************
#include "msp430x14x.h"
#include "main.h"
//2002-11-10 14:31 全面檢查一遍
/**************************************************************************************************************************/

//********************** extern 區****************extern 區****************
//********************** extern 區****************extern 區****************
//from Mt8889.c
extern void init_8889(void);
//from Dtmf.c
extern void DtmfPhysicsReceive(void);
extern unsigned char g_chDtmfPhysicsReceive_50ms;
extern void DtmfPhysicsSend(void);
extern void BuildDTMF(void);
extern unsigned char g_chBuildDTMFTime_1s;
//from Debug.c
extern void ExternInsertDebugSendBuf(unsigned char *pData, unsigned int intLen);
extern void MainDebugProcess(void);
extern unsigned char  g_chMainDebugSendTimeout_1s;
extern unsigned char  g_chMainDebugProcessTimeout_1s;
extern unsigned char  g_chDebugTail;
extern unsigned int g_int135Ver;
//from commpc.c
extern void QueryReportPC(void);
extern unsigned char g_chMainPushReportTime_1s;
extern unsigned char g_chSendPCBuf_1s;
extern void ReceivePCBuf(void);
extern void SendPCBuf(void);
extern void MainPushReport(void);
extern unsigned char g_chReceivePCBuf_1s;
extern unsigned char g_chMainPushReport_Stat;
//from flash.c
extern void InitInformationRam_PowerOn(void);
//from lcd.c
extern void InitLcd(void);
//from innerComm.c
extern void MainInnerComm(void);
extern unsigned char g_chMainInnerComm_50ms;
extern unsigned char g_chInnerCommSendBuf[MacroInnerCommSendBufMax];
extern void AddCheckSum(unsigned char chLen);
extern unsigned int g_intGP_FixedCurrent[8];
//from Env.c
extern void ProcessTemperatures(void);
extern unsigned char g_chDoorSwitch_50ms;
extern unsigned char g_chDoorOpened_1s;
extern unsigned char g_chDoorClosed_50ms;
extern void ReadDoorID(void);
extern void MainDoor(void);
extern void ProcessSwitch(void);
extern void ProcessAD(void);
extern unsigned char g_chProcessAD_50ms;
//from ds1820drv.c
extern void DS1820_Init(void);
//from lcd.c
extern void LcdDrive(void);
extern unsigned char g_chLcdDrive_50ms;
//from lcdshow.c
extern void MainLcdProcess(void);
extern unsigned char g_chMainLcdProcess_1s;
extern void ProcessKeyStoke(void);
extern unsigned char g_chMainLcdProcess_Stat;
//********************** extern 區****************extern 區****************
//********************** extern 區****************extern 區****************
///////////////////本模塊函數聲明//////////////////////////////
void Set_DCO (void);
void SysInit_IO(void);
//用作為 16 個位!BOOLEAN 變量來使用
unsigned int g_intMark;
unsigned int g_intMarkA;
//每 50 ms 的計數器!
unsigned int intTBCount_50ms;
//時間處理
unsigned char g_chSecond, g_chMinute = Ver_ID4, g_chHour = Ver_ID3, g_chDay = 4, g_chMonth = 9, g_chYear = 3, g_chSecondAdjust;
//unsigned char g_chSecond, g_chMinute, g_chHour, g_chDay, g_chMonth, g_chYear;
//                     *********調試版本 Hour:Minute  *** ###編譯時間 Year-Month-Day #######################
unsigned char g_chKeyStoke_1s;
/**************************************************************************************************************************/

/**************************************
*功能:主程序       
*參數:
*返回:
**************************************/
void main(void)
{   
    g_intMark = 0;
    g_intMarkA = 0;
    SysInit_IO();
    //調用外部
    init_8889();
    InitLcd();
    DS1820_Init();
    //也可在后的地方開中斷
    _EINT();
    //用于開機要問 工頻固定數值的標志
    g_intGP_FixedCurrent[0] = 9999;
    //test
//    g_intMark |= CommDebugUart_Mark;
//    g_intMark |= RS232DTMFSendPC_Mark;
    //g_intMark |= CommBuilded_Mark;
    //開機必須要有這個標志
    g_intMark |= ICanPush_Mark;
    //寫上電標志
    g_intMark |=  PowerOn_Mark;
    //開機下一次時間!下時間!---在每次更改的時候下!
    //g_chMainInnerComm_Stat = 0;
    g_chInnerCommSendBuf[1] = 216;
    //second minute hour
    g_chInnerCommSendBuf[2] = g_chSecond;
    g_chInnerCommSendBuf[3] = g_chMinute;
    g_chInnerCommSendBuf[4] = g_chHour;
    //5 sum
    //6 200
    AddCheckSum(5);
    while (1)
    {
        //實時運行
        if(g_intMarkA & RunLess1Minute_MarkA)
        {//運行后 超過一分鐘
            if(g_intMarkA & RunBetween12Minute_MarkA)
            {//運行后 超過二分鐘
                //讓燈 反轉
                P2OUT ^= Run_LED;
            }
            else
            {//運行后 一分鐘 到 二分鐘之間
                //讓燈 亮
                P2OUT &= ~Run_LED;
                //顯示按鍵有問題!
                if(g_intMarkA & KeyStokeGood_MarkA)
                {
                    //表明按紐OK
                }
                else
                {
                    if((g_intMarkA & KeyStokeMute_MarkA) || (g_intMarkA & KeyStokeAuto_MarkA))
                    {//表明肯定有一個有問題
                        g_chMainLcdProcess_Stat = 8;
                    }
                }
            }
        }
        else 
        {//運行后 不到一分鐘
            if(g_intMarkA & KeyStokeGood_MarkA)
            {//兩個按紐是否正常
                //按自校驗按紐超過 5 秒  g_chKeyStoke_1s
                if(P1IN & CHEK)
                {//CHEK BIT2        //CHEK----P1.2,自檢按鍵控制端,常態為高,低有效
                    //高,沒有動作
                    g_chKeyStoke_1s = 0;
                }
                else
                {
                    if(g_chKeyStoke_1s > 5)
                    {//啟動 自己校驗自己
                        //----------no--------
                    }
                }
            }
            else
            {//檢查!
                if(P6IN & NOspeak)
                {//NOspeak BIT7 //P6.7--J2.4---Speak按鍵控制端,低有效
                    //高,沒有動作
                }
                else
                {
                    //可能有問題!
                    g_chKeyStoke_1s = 0;
                    g_intMarkA |= KeyStokeMute_MarkA;//如果有問題,在這里記錄!
                }
                if(P1IN & CHEK)
                {//CHEK BIT2        //CHEK----P1.2,自檢按鍵控制端,常態為高,低有效
                    //高,沒有動作
                }
                else
                {
                    g_chKeyStoke_1s = 0;
                    g_intMarkA |= KeyStokeAuto_MarkA;//如果有問題,在這里記錄!
                }
                if(g_chKeyStoke_1s > 5)
                {
                    //表明按紐OK
                    g_intMarkA |= KeyStokeGood_MarkA;
                    //以下太嚴格,開機后不可以按一下!---改為不如果一分鐘里 不停在按鍵,表示壞
//                  if((g_intMarkA & KeyStokeMute_MarkA) || (g_intMarkA & KeyStokeAuto_MarkA))
//                  {//表明肯定有一個有問題
//                      g_chMainLcdProcess_Stat = 8;
//                  }
                }
            }
        }    
        //處理軟 RESET
        if(g_intMark & SoftReset_Mark)
        {
            if(intTBCount_50ms > 20)//借用
            {//1 s
                WDTCTL = 0;
            }
        }
        DtmfPhysicsReceive();
        MainDebugProcess();
        ReceivePCBuf();
        SendPCBuf();
        MainPushReport();
        MainInnerComm();
        ReadDoorID();
        MainDoor();
        ProcessSwitch();
        LcdDrive();
        MainLcdProcess();
        ProcessAD();
        ProcessKeyStoke();
        if(g_int135Ver > 0)
        {
            if(g_intMark & HaveDTMFModule_Mark)
            {//有DTMF模塊
                BuildDTMF();
            }
            else
            {//由于無 DTMF模塊,這里保證不使用 DTMF 通信
                g_intMark &= ~DTMFPhysicsReceiveWorkToPCBuf_Mark;//保證DTMF不工作
                g_intMark &= ~RS232DTMFSendPC_Mark;//保證DTMF不工作
                g_intMark &= ~DtmfPhysicsReceive_Mark;//保證DTMF不工作
            }
        }
        //每 50 ms 處理一次
        if(g_intMark & Time_50_ms_Mark)
        {
            g_intMark &= ~Time_50_ms_Mark;
            //
            g_chMainInnerComm_50ms++;
            g_chDoorSwitch_50ms++;
            g_chDoorClosed_50ms++;
            g_chLcdDrive_50ms++;
            g_chProcessAD_50ms++;
            g_chDtmfPhysicsReceive_50ms++;
            //
            DtmfPhysicsSend();
        }
        //每 300 ms 處理一次
        if(g_intMark & Time_300_ms_Mark)
        {
            g_intMark &= ~Time_300_ms_Mark;
            //2。喂狗  要勤快----開啟了看門狗
            WDTCTL = WDT_ARST_1000; //使用 ACLK 1 秒 RESET
            //
            QueryReportPC();
        }
        //每 1 s 處理一次
        if(g_intMark & Time_1_s_Mark)
        {
            g_intMark &= ~Time_1_s_Mark; 
            //
            g_chMainDebugSendTimeout_1s++;
            g_chMainPushReportTime_1s++;
            g_chSendPCBuf_1s++;
            g_chBuildDTMFTime_1s++;
            g_chMainDebugProcessTimeout_1s++;
            g_chReceivePCBuf_1s++;
            g_chDoorOpened_1s++;
            g_chMainLcdProcess_1s++;
            g_chKeyStoke_1s++;
            //
            ProcessTemperatures();
            //運行時間段標志
            if(g_intMarkA & RunLess1Minute_MarkA)
            {//運行后 超過一分鐘
                //不做任何事情
            }
            else
            {//運行后 不到一分鐘
                //每 秒 反轉一一次
                P2OUT ^= Run_LED;
            }
            //時間處理
            g_chSecondAdjust++;//沒有不要考慮 g_chSecondAdjust 的其他地方 清 0
            if(g_chSecondAdjust > 249)//2002-8-11,運行 13 小時后慢1--2 秒
            {//由于時間 每 249.5 秒  會快一秒   所以這里每 249秒停止加 1 秒,用來校準時間
                g_chSecondAdjust = 0;
            }
            else
            {
                g_chSecond++;
            }
            if(g_chSecond >= 60)
            {
                g_chSecond = 0;//(保證0---59)
                g_chMinute++;
                if(g_chMinute >= 60)
                {
                    g_chMinute = 0;//(保證0---59)
                    g_chHour++;
                    if(g_chHour >= 24)
                    {
                        g_chHour = 0;//(保證0---23)
                        g_chDay++;
                        if(g_chDay >= 32)
                        {
                            g_chDay = 1;//(保證1---31)
                            g_chMonth++;
                            if(g_chMonth > 13)
                            {
                                g_chMonth = 1;//(保證1---12)
                                g_chYear++;//(不保證)
                            }   
                        }
                    }
                }
            }
        }
        
        //每 60 s 處理一次

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产欧美1区2区3区| 国产成人午夜视频| 亚洲在线成人精品| 亚洲精品国产a久久久久久| 欧美国产日韩a欧美在线观看| 精品国产青草久久久久福利| 欧美一区二区三区人| 欧美一区二区在线播放| 欧美日韩在线播放三区四区| 欧美日韩一级黄| 欧美一区二区视频网站| 99精品偷自拍| 日韩精彩视频在线观看| 国产精品久久久久久久浪潮网站| 国产欧美精品区一区二区三区| 国产视频一区二区在线| 国产精品黄色在线观看| 专区另类欧美日韩| 亚洲综合在线视频| 亚洲高清免费观看高清完整版在线观看 | 美女视频黄a大片欧美| 在线国产亚洲欧美| 欧美三级电影精品| 91精品国产一区二区三区蜜臀| 日韩欧美一区二区三区在线| 日韩午夜激情av| 亚洲精品一区二区在线观看| 欧美国产日韩a欧美在线观看| 中文字幕亚洲一区二区va在线| 国产精品久久久99| 亚洲国产精品人人做人人爽| 青娱乐精品在线视频| 国产99久久久国产精品| 一本久久a久久精品亚洲 | 亚洲欧美在线观看| 亚洲国产成人av| 精品一二线国产| 99re这里只有精品视频首页| 欧美色爱综合网| 亚洲精品一区二区三区精华液| 中文字幕欧美国产| 亚洲成a人v欧美综合天堂下载 | 在线视频一区二区三| 欧美日韩国产一区二区三区地区| 欧美人伦禁忌dvd放荡欲情| 欧美一级专区免费大片| 欧美精品一区二区三区在线| 国产精品免费av| 亚洲一区二区三区影院| 亚洲bdsm女犯bdsm网站| 国产九九视频一区二区三区| 99热99精品| 制服丝袜在线91| 久久免费偷拍视频| 亚洲免费在线看| 日韩一区欧美二区| 狠狠色丁香久久婷婷综合_中| 91免费观看在线| 欧美一区二区三区免费大片| 国产清纯在线一区二区www| 亚洲人午夜精品天堂一二香蕉| 亚洲成a人片综合在线| 国产精品一线二线三线精华| 91福利在线观看| 精品欧美一区二区在线观看| 亚洲柠檬福利资源导航| 久久精品国产免费| 色婷婷国产精品| 日韩精品一区在线| 亚洲欧美日韩一区| 久久精品噜噜噜成人88aⅴ | 欧美变态凌虐bdsm| 一区二区三区影院| 国产久卡久卡久卡久卡视频精品| 欧美午夜电影在线播放| 久久亚洲春色中文字幕久久久| 国产在线不卡一卡二卡三卡四卡| 99r国产精品| 精品国产乱码久久久久久夜甘婷婷| 亚洲欧美自拍偷拍| 国产乱子轮精品视频| 不卡大黄网站免费看| 日韩欧美aaaaaa| 亚洲已满18点击进入久久| 国产电影一区二区三区| 欧美日韩免费一区二区三区视频| 国产午夜精品久久| 亚洲 欧美综合在线网络| 成人午夜视频福利| 日韩美女一区二区三区| 香蕉加勒比综合久久| 99久久综合国产精品| 2020国产成人综合网| 亚洲h在线观看| 99久久久精品免费观看国产蜜| 久久综合999| 青青青爽久久午夜综合久久午夜| 一本一本久久a久久精品综合麻豆| 欧美成人aa大片| 日韩在线一区二区| 欧洲精品一区二区三区在线观看| 国产精品久久久久久久第一福利 | 99精品国产视频| 久久久久亚洲蜜桃| 老司机午夜精品99久久| 欧美色图片你懂的| 亚洲欧美日韩久久| 91丨porny丨国产入口| 欧美极品另类videosde| 精品亚洲免费视频| 欧美一区二区三区影视| 午夜伦理一区二区| 欧美影院午夜播放| 国产精品一二三| 久久只精品国产| 国产一区二区电影| 精品国产电影一区二区| 理论电影国产精品| 欧美电影免费观看高清完整版在线| 一区二区三区精品视频| 91同城在线观看| 亚洲综合丁香婷婷六月香| 91久久免费观看| 一区二区三区免费网站| 日本久久电影网| 伊人夜夜躁av伊人久久| 在线观看av不卡| 亚洲一线二线三线久久久| 欧美日韩一区二区三区在线看| 一区二区三区产品免费精品久久75| 91玉足脚交白嫩脚丫在线播放| 综合久久一区二区三区| 91小视频在线免费看| 亚洲一区在线视频| 91福利国产精品| 天堂影院一区二区| 日韩三级精品电影久久久| 蜜臀av性久久久久蜜臀aⅴ| 日韩久久免费av| 国产成人精品亚洲777人妖| 国产精品美女久久久久av爽李琼| 波多野结衣一区二区三区| 亚洲免费伊人电影| 欧美这里有精品| 美女久久久精品| 国产亚洲欧美激情| 91香蕉视频黄| 午夜激情久久久| 久久香蕉国产线看观看99| 成人污污视频在线观看| 国产女主播一区| 欧美中文字幕一区| 国产在线精品不卡| 自拍视频在线观看一区二区| 欧美日韩mp4| 国产精品一区二区久久不卡| 久久综合视频网| 成人久久视频在线观看| 一区二区三区加勒比av| 日韩女优电影在线观看| 国产大片一区二区| 亚洲日本中文字幕区| 在线精品视频小说1| 麻豆国产精品官网| 国产精品黄色在线观看| 欧美精品第一页| 99久久er热在这里只有精品66| 日韩电影在线观看一区| 国产女人水真多18毛片18精品视频| 色网站国产精品| 精品伊人久久久久7777人| 综合电影一区二区三区 | 成人av在线资源网| 五月综合激情日本mⅴ| 久久精品日韩一区二区三区| 一本色道久久综合狠狠躁的推荐| 麻豆91精品视频| 亚洲最大的成人av| 2欧美一区二区三区在线观看视频| 国产成人啪午夜精品网站男同| 一区二区三区在线播| 久久这里只精品最新地址| 欧美中文字幕一二三区视频| 国产伦理精品不卡| 奇米影视一区二区三区| 亚洲人成精品久久久久久 | 91精品国产美女浴室洗澡无遮挡| 国产激情偷乱视频一区二区三区| 亚洲成人一区在线| 中文字幕亚洲欧美在线不卡| 精品久久久久久亚洲综合网| 粉嫩aⅴ一区二区三区四区| 国产一区二三区好的| 午夜精品久久久久久久99水蜜桃| 国产欧美一区二区三区鸳鸯浴 | 欧美系列亚洲系列| 国产·精品毛片| 天堂va蜜桃一区二区三区| 亚洲精选视频在线| 国产精品另类一区|