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

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

?? modem.c

?? 一個完整的MODEM例程
?? C
?? 第 1 頁 / 共 2 頁
字號:

/****************************************************************************
* 名稱:GetModemState()
* 功能:讀取MODEM狀態值。
* 入口參數:無
* 出口參數:當前MODEM狀態值
****************************************************************************/
uint8  GetModemState(void)
{
    return(ModemState);
}


/****************************************************************************
* 名稱:ModemInit()
* 功能:初始化MODEM。
* 入口參數:bps		串口波特率
* 出口參數:返回當前MODEM狀態值
****************************************************************************/
uint8  ModemInit(uint32 bps)
{
    uint8 temp;
    uint32 count;
    ModemState = MODEM_CLOSE;					// 設置MODEM已關閉狀態
    UART1Init(bps);								// 初始化UART1

    temp=U1MSR;
    /*if((temp & 0x30) != 0x30)					// 判斷DSR、CTS是否有效
    {
        DelayNS(1);
        if((temp & 0x30) != 0x30)
        {
            ModemState = NOT_FIND_MODEM;		// 沒有發現MODEM
        }
    }*/
    
    if(ModemState == MODEM_CLOSE)				// 進行MODEM初始化
    {
        //ModemCommand("ATE0");				// 關閉命令回顯	
        ModemWrite("ATE0\r", 5);				// 發送AT指令
        
        count=0;
        do{
            if(count>20000)
            {
                ModemWrite("ATE0\r", 5);
                count=0;
            }
        }while(RecPointer==0);
        
        if(RecPointer==11||RecPointer==06||RecPointer==02||RecPointer==07)  //ATE0\r\r\nOK\r\n,\r\nOK\r\n,0\r
        {
            if(RecPointer==11)
            {
                if(RecBuff[ReadPointer]=='A'||RecBuff[ReadPointer]=='a')
                {
                    while(ReadPointer<RecPointer)
                    {
                        if(RecBuff[ReadPointer]=='O'||RecBuff[ReadPointer]=='o')
                        {
                            ReadPointer++;
                            if(RecBuff[ReadPointer]=='K'||RecBuff[ReadPointer]=='k')
                            {
                                U1IER &= (~ 0x01);                   // 允許接收中斷 
                                RecPointer=ReadPointer=0;
                                U1IER = U1IER | 0x01;                   // 允許接收中斷 
                                break;
                            }
                        }
                        
                        ReadPointer++;
                    }
                    
                    if(ReadPointer!=0)
                    {
                        RecPointer=ReadPointer=0;
                        return NOT_FIND_MODEM;
                    }
                }
            }
            else if(RecPointer==07)
            {
                if(RecBuff[0]!='A'||RecBuff[1]!='T'||RecBuff[2]!='E'||RecBuff[3]!='0'||RecBuff[5]!='0')
                {
                    RecPointer=ReadPointer=0;
                    return NOT_FIND_MODEM;
                }
            }
            else if(RecPointer==06)
            {
                while(ReadPointer<RecPointer)
                {
                    if(RecBuff[ReadPointer]=='O'||RecBuff[ReadPointer]=='o')
                    {
                        ReadPointer++;
                        if(RecBuff[ReadPointer]=='K'||RecBuff[ReadPointer]=='k')
                        {
                            U1IER &= (~ 0x01);                   // 允許接收中斷 
                            RecPointer=ReadPointer=0;
                            U1IER = U1IER | 0x01;                   // 允許接收中斷 
                            break;
                        }
                    }
                    
                    ReadPointer++;
                }
                
                if(ReadPointer!=0)
                {
                    RecPointer=ReadPointer=0;
                    return NOT_FIND_MODEM;
                }
            }
            else
            {
                if(RecBuff[0]=='0'&&RecBuff[1]==13)
                {
                    U1IER &= (~ 0x01);                   // 允許接收中斷 
                    RecPointer=ReadPointer=0;
                    U1IER = U1IER | 0x01;                   // 允許接收中斷  
                }
                else
                {
                    return NOT_FIND_MODEM;
                }
            }
         }
         else
         {
            return NOT_FIND_MODEM;
         }   
       	
        ModemCommand("ATV0");					// 以數字形式返回結果碼
        ModemCommand("AT&C1");					// 數據載波檢測(DCD)選擇有效
        ModemCommand("AT&D2");					// 數據終端準備就緒(DTR)選擇,當DTR由ON-OFF時,MODEM將掛機,并返回命令狀態
        ModemCommand("AT&R0");					// 請求發送(RTS)/清除發送(CTS)選擇,當MODEM在線時,CTS跟隨RTS的變化
        ModemCommand("AT&S0");					// 數據設備就緒(DSR)選擇,DSR一直有效
        ModemCommand("ATS0=2");					// 自動摘機應答設置,響鈴2次后MODEM自動摘機
    }
    
    DelayNS(10);
    //ModemState=5;
    return(ModemState);
}

/****************************************************************************
*
*
*   命令的應答
*
*
*
*****************************************************************************/
uint8 WaitCmdAck(void)
{
    DelayNS(1);
    while(ReadPointer<RecPointer)
    {
        if(RecBuff[ReadPointer]=='0')
        {
            U1IER &= (~ 0x01);                   // 允許接收中斷 
            RecPointer=ReadPointer=0;
            U1IER = U1IER | 0x01;                // 允許接收中斷 
                
            return(ModemState);
        }
        
        ReadPointer++;
   }

   if(ReadPointer!=0)
   {
        RecPointer=ReadPointer=0;
        return MODEM_CMDERROR; 
   } 
   
   return ModemState;       
}

/****************************************************************************
* 名稱:UART1_Exception()
* 功能:UART1中斷服務程序。
* 入口參數:無
* 出口參數:無
* 說明:
****************************************************************************/
void __irq  UART1_Exception(void)
{
    uint8 IIR, temp;
    
    IIR=U1IIR;
    //while(( IIR& 0x01) == 0)
    //{                                                   // 有中斷未處理完
        switch (IIR & 0x0e)
        {
            case 0x00:                                  // Modem狀態變化中斷
                temp=U1MSR;
                if ((temp & 0x80) != 0)                 //數據載波檢測
                {
                    ModemState = MODEM_CONNECT;
                }
                else
                {
                    ModemState = MODEM_CLOSE;
                }
                
                if ((temp & 0x40) != 0)                 //響鈴 
                {
                    ModemState = MODEM_RING;
                }
                
                if ((temp & 0x30) != 0x30)              //數據設備就緒、清除發送
                {
                    ModemState = NOT_FIND_MODEM;
                }
                break;
                
            case 0x04:                                  // 接收數據可用
                //U1IER &= (~0x01);                     // 禁止接收及字符超時中斷
                //if(Config_Finish)
                //{
                    RecBuff[RecPointer]=U1RBR;
                    RecPointer++;
                //}
                //else
                //{
                    //U1IER &= (~0x01);                       // 禁止接收及字符超時中斷
                //}    
                break;
                    
            case 0x06:                                  // 接收線狀態
                temp = U1LSR;
                break;
                
            case 0x0c:                                  // 字符超時指示
                U1IER &= (~0x01);                       // 禁止接收及字符超時中斷
                break;
            case 0x02:                                  //發送中斷
                //后續
                
                break;    
            default:
                break;
        }
    //} 
    
    VICVectAddr = 0;      		// 通知中斷控制器中斷結束
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区和二区| 亚洲国产成人一区二区三区| 日韩精品一区二区三区四区视频| 久久精品一二三| 日韩经典一区二区| 色综合久久88色综合天天免费| 精品电影一区二区| 午夜电影网亚洲视频| 99re免费视频精品全部| 精品999在线播放| 日韩成人免费看| 欧美日韩中文字幕精品| 亚洲少妇30p| av在线播放成人| 久久久久国产一区二区三区四区| 婷婷六月综合亚洲| 欧美高清视频一二三区 | 亚洲素人一区二区| 国产一级精品在线| 欧美xxxxx牲另类人与| 免费在线视频一区| 欧美高清精品3d| 性欧美大战久久久久久久久| 色综合久久66| 亚洲精品精品亚洲| 在线影院国内精品| 亚洲精品伦理在线| 欧美午夜精品一区二区蜜桃| 亚洲色图制服诱惑| 色噜噜狠狠成人网p站| 尤物视频一区二区| 欧美性极品少妇| 亚洲福中文字幕伊人影院| 在线中文字幕不卡| 日韩电影一二三区| 日韩精品在线一区| 国产乱码字幕精品高清av| 久久麻豆一区二区| 国产91富婆露脸刺激对白| 国产日韩欧美不卡在线| 国产69精品久久777的优势| 国产精品美女视频| 色综合久久综合网欧美综合网| 亚洲柠檬福利资源导航| 欧美综合欧美视频| 日韩精品一二区| 精品国产凹凸成av人导航| 国产成人精品免费网站| 国产精品二三区| 欧美日韩国产首页| 国产一区二区在线观看视频| 欧美激情中文不卡| 色丁香久综合在线久综合在线观看| 一区二区三区不卡视频在线观看| 欧美剧情片在线观看| 免费av网站大全久久| 国产人成一区二区三区影院| 一本久久综合亚洲鲁鲁五月天 | 91丝袜国产在线播放| 亚洲一区二区综合| 日韩欧美色综合| 99久久免费精品高清特色大片| 亚洲国产成人av网| 久久人人爽爽爽人久久久| 99精品久久只有精品| 丝袜美腿成人在线| 国产精品久久久久7777按摩| 欧美日本韩国一区| 国产v综合v亚洲欧| 天天操天天干天天综合网| wwwwww.欧美系列| 在线看不卡av| 国产91丝袜在线播放九色| 亚洲电影一级黄| 中文一区在线播放| 91精品国产综合久久福利| 成人激情小说网站| 久久精品国产精品亚洲精品| 亚洲视频一区二区免费在线观看| 日韩精品在线一区| 在线观看网站黄不卡| 国产综合久久久久久久久久久久| 亚洲乱码精品一二三四区日韩在线| 欧美成人精品二区三区99精品| 91视频免费看| 国产91富婆露脸刺激对白| 日韩电影在线观看一区| 亚洲综合一区二区精品导航| 国产精品每日更新| 26uuu亚洲| 日韩欧美一区二区在线视频| 色94色欧美sute亚洲线路一ni| 国产美女精品一区二区三区| 免费高清不卡av| 日日摸夜夜添夜夜添国产精品| 国产精品免费观看视频| 国产亚洲成aⅴ人片在线观看 | 在线亚洲高清视频| 不卡一区在线观看| 国产成人av影院| 韩国精品一区二区| 久久精品国产成人一区二区三区 | 久久久亚洲精品一区二区三区 | 日韩欧美不卡一区| 88在线观看91蜜桃国自产| 日本精品一级二级| 一本久久a久久免费精品不卡| 成人晚上爱看视频| 成人午夜视频网站| 成人av电影免费在线播放| 国产成人在线色| 丁香另类激情小说| 成人爽a毛片一区二区免费| 国产一区二区电影| 国内不卡的二区三区中文字幕| 麻豆国产精品官网| 久久66热re国产| 黄色日韩三级电影| 国产精品香蕉一区二区三区| 激情av综合网| 高清日韩电视剧大全免费| 国产91精品精华液一区二区三区 | 日本伊人午夜精品| 奇米精品一区二区三区四区| 日本不卡视频一二三区| 精品一区二区精品| 高潮精品一区videoshd| 99精品热视频| 欧美日本一区二区三区四区| 欧美一区二区视频在线观看2022| 91精品国产综合久久小美女| 日韩精品一区二区三区三区免费| 久久综合九色综合久久久精品综合| 久久先锋资源网| 中文字幕一区二区三区在线观看| 亚洲精品伦理在线| 日本成人在线网站| 国产高清不卡二三区| 91浏览器入口在线观看| 欧美日韩国产首页| 久久久久久久久久美女| 中文字幕日韩一区| 天天综合日日夜夜精品| 国产精品一二一区| 欧洲一区二区av| 精品美女被调教视频大全网站| 日本一区二区三区四区在线视频| 亚洲视频狠狠干| 蜜臂av日日欢夜夜爽一区| 成人综合激情网| 欧美日韩另类一区| 久久久久久麻豆| 亚洲第一福利视频在线| 国产高清亚洲一区| 欧美日韩国产电影| 国产精品久久三区| 七七婷婷婷婷精品国产| 97久久人人超碰| 欧美成人一区二区三区片免费| 亚洲国产精品二十页| 日韩在线一二三区| 99热99精品| 久久―日本道色综合久久| 亚洲国产成人91porn| 成人h精品动漫一区二区三区| 欧美高清激情brazzers| 亚洲婷婷综合色高清在线| 国产一区二三区| 91精品久久久久久蜜臀| 亚洲日本va午夜在线影院| 国产一区欧美一区| 欧美精选午夜久久久乱码6080| 国产精品私房写真福利视频| 美美哒免费高清在线观看视频一区二区 | 久久99久久99精品免视看婷婷| 99re这里都是精品| 国产欧美一区二区精品秋霞影院| 欧美日韩精品一区视频| 激情国产一区二区| 日韩女优制服丝袜电影| 在线观看三级视频欧美| 国产欧美1区2区3区| 精品影视av免费| 777a∨成人精品桃花网| 一区二区在线观看视频| 99精品视频在线观看| 中文成人综合网| 精品午夜久久福利影院 | 91精品国产入口| 亚洲一区在线观看网站| 91女人视频在线观看| 亚洲国产精品成人久久综合一区| 国产综合色在线| 欧美成人bangbros| 开心九九激情九九欧美日韩精美视频电影 | 亚洲欧美日韩一区二区| 91视视频在线观看入口直接观看www | 91精品福利在线| 亚洲黄色尤物视频| 一本色道亚洲精品aⅴ|