国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 6062|回復(fù): 0
打印 上一主題 下一主題

PIC24菜鳥畢業(yè)留念---GPS串口2接收中斷服務(wù)程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2009-4-2 22:59:14 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
關(guān)鍵詞: GPS , 菜鳥 , 串口 , 服務(wù)程序 , 留念
PIC24菜鳥畢業(yè)留念---GPS串口2接收中斷服務(wù)程序

/*------------------------------------------------------------------------
                   GPS串口2接收中斷服務(wù)程序(接收GPS數(shù)據(jù))
菜農(nóng)HotPower之PIC24菜鳥畢業(yè)留念    2007.12.20   2:40 于菜地留念   
-------------------------------------------------------------------------*/
void __attribute__((interrupt, no_auto_psv)) _U2RXInterrupt( void )
{
static unsigned char cData = 0, cPosition;
unsigned char ch;
    if (IFS1bits.U2RXIF)//確實是GPS串口2接收中斷
    {
        if (IEC1bits.U2RXIE)//GPS串口2接收中斷已被允許
        {
            ch = U2RXREG;//讀取串口GPS數(shù)據(jù)
            if (ch == '$')//是GPS引導(dǎo)字符
            {
                cData = ch;//記錄引導(dǎo)字符
                cPosition = GPSRxWriteCount;//引導(dǎo)字符位置記錄
                GPSRxBuffers[GPSRxWriteCount ++] = ch;//存入數(shù)據(jù)
            }
            else if (cData == '$')//收到引導(dǎo)字符
            {        
                if (ch >= ' ')//可能是有效數(shù)據(jù)
                {
                    GPSRxBuffers[GPSRxWriteCount ++] = ch;//存入數(shù)據(jù)
                }
                else if (ch == '*')//GPS校驗引導(dǎo)字符
                {
                    GPSRxBuffers[GPSRxWriteCount ++] = ch;//存入數(shù)據(jù)
                }
                else if ((ch == '\r') && (GPSRxBuffers[GPSRxWriteCount - 3] == '*'))//回車字符校驗
                {
                    GPSRxBuffers[GPSRxWriteCount ++] = ch;//存入數(shù)據(jù)
                }
                else
                {
                    if ((ch == '\n') && (GPSRxBuffers[GPSRxWriteCount - 1] == '\r'))//換行字符校驗
                    {//只取GPRMC語句
                        if (GPSGPRMCTest((char *)&GPSRxBuffers[cPosition + 1]))
                        {
                            GPSRxBuffers[GPSRxWriteCount ++] = ch;//存入數(shù)據(jù)
                            GPSbits.RXFlag = 1;//激活GPS接收成功解碼程序(在“零耗時鍵盤OS”的空閑任務(wù)內(nèi)細加工處理)
                        }
                    }
                    cData = 0;//結(jié)束或出錯
                }
            }
            else
            {
                cData = 0;//出錯   
            }
        }
    }
     IFS1bits.U2RXIF = 0;//清除RX2中斷標志
}


/*------------------------------------------------------------------------
    GPS串口2初始化程序
-------------------------------------------------------------------------*/
void Uart2Init(void)
{
    TRIS_TX2 = PORTOUTMODE;//設(shè)置TX2為輸出IO
    TRIS_RX2 = PORTINPUTMODE;//設(shè)置RX2為輸入IO
    U2MODE = 0;
//    U2MODEbits.STSEL = 0;// 1-stop bit
//    U2MODEbits.PDSEL = 0;// No Parity, 8-data bits
//    U2MODEbits.ABAUD = 0;// Autobaud Disabled
    U2STA = 0;
//    U2STAbits.UTXISEL0 = 0;            // Interrupt after one Tx character is transmitted
//    U2STAbits.UTXISEL1 = 0;                                       
//    U2STAbits.URXISEL  = 3;            // Interrupt after one RX character is received
    U2BRG = BRGVAL2;//BAUD Rate Setting for 19200
    U2MODEbits.WAKE    = 1;//啟動位時喚醒使能位
    U2MODEbits.UARTEN   = 1;        // Enable UART
    U2STAbits.UTXEN     = 1;        // Enable UART Tx
/*------------------------------------------------------------------------
    定義GPS串口2中斷優(yōu)先級位1111)
-------------------------------------------------------------------------*/
    IPC7bits.U2RXIP0 = 1;
    IPC7bits.U2RXIP1 = 1;
    IPC7bits.U2RXIP2 = 1;
    IEC1bits.U2RXIE = 1;
    IFS1bits.U2RXIF = 0;//清除RX1中斷標志
    IEC1bits.U2TXIE = 1;
    IFS1bits.U2TXIF = 0;//清除TX1中斷標志
}
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 91小视频在线观看免费版高清 | 日本精品在线视频 | 一二三区在线观看 | 日本久久久久久 | 岛国在线播放v片免费 | 91av在线播放| 丝袜美腿视频一区二区三区 | 日韩娇小性hd | 免费国产h视频在线观看86 | 99成人| 逃离韩国动漫免费观看 | 日韩高清毛片 | 正在播放一区 | 亚洲最新网址 | 草久久久 | 日韩午夜在线观看 | 日韩精品午夜视频一区二区三区 | 麻豆影音 | 精东影业精东影业果冻传媒 | 国产一级在线观看 | 色香视频首页 | 青青草精品在线视频 | 国产高清在线观看视频 | 首尔站在线观看免费韩剧 | 131美女一区二区三区视频 | 日韩永久免费进入2015 | 成年女人午夜毛片免费看 | 亚洲男人天堂网址 | 色综合天天综合网国产成人网 | 国产在线精品成人一区二区三区 | 2022年果冻传媒国产 | 一级做a爰片久久毛片毛片 一级做a爰片久久毛片看看 | 国产精品国产三级国产an | 久久机热综合久久国产 | 国产一区亚洲二区三区毛片 | a毛片视频| 亚洲第一区精品观看 | 日韩五月天 | 欧美黄色片在线 | 欧美国产在线看 | 激情影院在线视频永久观看 |