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

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

?? serial.c

?? 已經測試成功的基于sim300短信收發(fā)程序
?? C
字號:

/*-----------------------------------------------------------------------
Project   :   Single RTK 
Author    :   kreal@163.net
Date      :   04-10-10
Funtion   :   串口驅動   
------------------------------------------------------------------------*/



#define  SERIAL_G 

#include "sysincludes.h"




/*---------------------------------------------------------------------------
Function   :  Uart ISR 
Input      :  None
Output     :  None 
-----------------------------------------------------------------------------*/


void  __irq ISR_Uart0 (void)
{
    uchar iN, cnt ; 
    
    
    if (rSUBSRCPND & BIT_SUB_TXD0) 
    {            
        rSUBSRCPND=(BIT_SUB_TXD0);		                    // Clear Sub int pending.
    }                       //判斷是否為發(fā)送中斷,清零標志位

    else if( rSUBSRCPND & BIT_SUB_RXD0 )     //判斷是否為接收中斷,并接受數(shù)據
    {
       cnt = rUFSTAT0 & 0x000F ; 
       for( iN = 0 ; iN < cnt ; iN ++ ) 
       {
          Com0.buf[Com0.pIn++] = rURXH0 ; 
          if( Com0.pIn>=UART_RX_MAX_SIZE ) 
            Com0.pIn = 0 ; 
       }
       rSUBSRCPND = BIT_SUB_RXD0 ; 
    
    }
    
   
    
    ClearPending(BIT_UART0);		                        // Clear master pending.
   
}
/********************************串口一******************/
void  __irq ISR_Uart1 (void)
{
    uchar iN, cnt ; 
    uchar cbyte;
    
   
    if (rSUBSRCPND & BIT_SUB_TXD1) 
    {
        
        rSUBSRCPND=(BIT_SUB_TXD1);		                    // Clear Sub int pending.
    }
    else if( rSUBSRCPND & BIT_SUB_RXD1 )              //是否為接收中斷
    {         
        cbyte = rURXH1;                      
        Receive_Mess(cbyte);                // 判斷是否結束,結束就添\0,否則存儲
        UartSendByte(0, cbyte);             //收到什么發(fā)送什么
       
        rSUBSRCPND = BIT_SUB_RXD1 ; 
    
    }

   
      
    ClearPending(BIT_UART1);		                        // Clear master pending 
}

void  __irq ISR_Uart2 (void)
{
    uchar iN, cnt ; 
    
    

    if (rSUBSRCPND & BIT_SUB_TXD2)
    {
        rSUBSRCPND=(BIT_SUB_TXD2);		                    // Clear Sub int pending.
    }
    else if( rSUBSRCPND & BIT_SUB_RXD2 )
    {
       
         
        cnt = rUFSTAT2 & 0x000F ; 
        for( iN = 0 ; iN < cnt ; iN ++ ) 
        {
           Com2.buf[Com2.pIn++] = rURXH2 ; 
           if( Com2.pIn >= UART_RX_MAX_SIZE ) 
             Com2.pIn = 0 ; 
        }          
        rSUBSRCPND = BIT_SUB_RXD2 ; 
    
    }

    ClearPending(BIT_UART2);		                        // Clear master pending. 
}



/*------------------------------------------------------------------------
Function  :  串口初始化
Input     :  ComNum -- 串口號
             baud   -- 串口波特率
Output    :  COM_NUM_ERR   不存在的串口
             COM_BAUD_ERR  非法波特率

-------------------------------------------------------------------------*/

char ComInit( uchar ComNum, uint baud ) 
{
   if( ComNum>2 )                  // Para Limit
     return  COM_NUM_ERR   ;       // 不存在的串口
   else if( baud > 115200 )     
     return  COM_BAUD_ERR ;        // 非法的波物率
   
    if(ComNum==0 )
    {  
	    rULCON0  = ((0<<6)+(0<<3)+(0<<2)+(3<<0));            //stop bit and parity bit 
	    rUCON0   = ((0<<10)+(0<<9)+(0<<8)+(0<<7)+(0<<6)+(0<<5)+(0<<4)+(1<<2)+(1<<0));  // interrupt mode or poll mode 
	    rUFCON0  = ((0<<6)+( 2<<4)+(0<<2)+(0<<1)+(0<<0));    // fifo
	    rUMCON0  = ((0<<4)+(0<<0));                         //disable the modem mode 
	    rUBRDIV0 = ((int)(PCLK/(baud*16))-1);               // baud 
	    	    
	    Com0.pIn = 0 ; 
	    Com0.pOut= 0 ; 
	   
	    
	    pISR_UART0 =(uint) ISR_Uart0 ; 

	    rINTMOD    &= ~(BIT_UART0);                         // IRQ mode.
	    rINTMSK    &= ~(BIT_UART0);                         // 開 UART0 發(fā)送中斷屏蔽位.
	    //rINTSUBMSK &= ~(BIT_SUB_TXD0);
	    rINTSUBMSK &= ~(BIT_SUB_RXD0) ; 
    }
    else if( ComNum==1 ) 
    {     
        rULCON1  = ((0<<6)+(0<<3)+(0<<2)+(3<<0));            //stop bit and parity bit 
	    rUCON1   = ((0<<10)+(0<<9)+(1<<8)+(0<<7)+(0<<6)+(0<<5)+(0<<4)+(1<<2)+(1<<0));  // interrupt mode or poll mode 
	    rUFCON1  = ((0<<6)+( 2<<4)+(0<<2)+(0<<1)+(0<<0));    // fifo
	    rUMCON1  = ((0<<4)+(0<<0));                         //disable the modem mode 
	    rUBRDIV1 = ((int)(PCLK/(baud*16))-1);               // baud 

	    
	    Uart1.pIn = 0 ; 
	    Uart1.pOut= 0 ; 
	   
	    
	    pISR_UART1 =(uint) ISR_Uart1 ; 

	    rINTMOD    &= ~(BIT_UART1);                       // IRQ mode.
	    rINTMSK    &= ~(BIT_UART1);                        // 開 UART0 發(fā)送中斷屏蔽位.
	    //rINTSUBMSK &= ~(BIT_SUB_TXD1);
	    rINTSUBMSK &= ~(BIT_SUB_RXD1) ; 
	    
   }
   else if( ComNum == 2 ) 
   {
        rULCON2  = ((0<<6)+(0<<3)+(0<<2)+(3<<0));            //stop bit and parity bit 
	    rUCON2   = ((0<<10)+(0<<9)+(0<<8)+(0<<7)+(0<<6)+(0<<5)+(0<<4)+(1<<2)+(1<<0));  // interrupt mode or poll mode 
	    rUFCON2  = ((0<<6)+( 2<<4)+(0<<2)+(0<<1)+(1<<0));    // fifo
	    rUMCON2  = ((0<<4)+(0<<0));                         //disable the modem mode 
	    rUBRDIV2 = ((int)(PCLK/(baud*16))-1);               // baud 

	   	   
	    Com2.pIn = 0 ; 
	    Com2.pOut= 0 ; 
	    
	    
	    pISR_UART2 =(uint) ISR_Uart2 ; 

	    rINTMOD    &= ~(BIT_UART2);                         // IRQ mode.
	    rINTMSK    &= ~(BIT_UART2);                         // 開 UART0 發(fā)送中斷屏蔽位.
	   // rINTSUBMSK &= ~(BIT_SUB_TXD2);
	    rINTSUBMSK &= ~(BIT_SUB_RXD2) ; 
	          
   }
 
   return  COM_INIT_OK ;
} 


//=====================================================================
void UartSendByte(uchar comnum, uchar data)
{
    if( comnum ==0)
    {
        
        while(!(rUTRSTAT0 & 0x2));
         
        WrUTXH0(data);
    }
    else if(comnum==1)
    {
       
      
        while(!(rUTRSTAT1 & 0x2));   //Wait until THR is empty.
        
        rUTXH1 = data;
    }   
    else if(comnum==2)
    {
        while(!(rUTRSTAT2 & 0x2));   //Wait until THR is empty.
         rUTXH2 = data;
    }       
}               

//******************************************=====不帶長度的字符串發(fā)送
void UartSendString(uchar comnum,uchar *pt)
{
    while(*pt)
       UartSendByte(comnum,*pt++);
}

//************************************************帶長度的字符串發(fā)送

void UartSendBuf( uchar comnum,uchar *buf,ushort len ) 
{
		
	ushort iN ; 
	
	for(iN=0;iN<len;iN++) UartSendByte(comnum,buf[iN]);
	
}






?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费观看一级欧美片| 日韩欧美卡一卡二| 日韩欧美国产电影| 亚洲欧美日韩国产另类专区| 精品一区二区在线免费观看| 91免费视频网址| 国产欧美一区二区精品秋霞影院 | 欧美日韩免费高清一区色橹橹| 日韩午夜精品电影| 亚洲va在线va天堂| 91免费看`日韩一区二区| 国产偷国产偷精品高清尤物| 日本亚洲三级在线| 欧美巨大另类极品videosbest | 欧美一级欧美一级在线播放| 亚洲欧美另类小说| 成人免费看视频| 久久久久久久久97黄色工厂| 久久精品国产99久久6| 欧美精品高清视频| 亚洲一区二区精品3399| 色播五月激情综合网| 国产精品国产自产拍高清av王其 | 在线视频欧美精品| 1区2区3区精品视频| 国产资源在线一区| 日韩精品中文字幕一区| 天天影视涩香欲综合网| 欧美人伦禁忌dvd放荡欲情| 亚洲午夜久久久久中文字幕久| 97久久精品人人做人人爽 | 亚洲gay无套男同| 色婷婷亚洲综合| 有码一区二区三区| 日本丰满少妇一区二区三区| 国产精品国产馆在线真实露脸| 国产成a人亚洲精| 国产精品午夜电影| 91在线播放网址| 亚洲一区二区三区免费视频| 欧美日韩国产另类一区| 日韩国产精品久久久久久亚洲| 欧美精品亚洲一区二区在线播放| 天天色天天操综合| 日韩午夜电影在线观看| 九九视频精品免费| 国产无一区二区| 99精品视频一区| 一级精品视频在线观看宜春院 | 欧美一区二区福利在线| 精品一区二区三区免费毛片爱| 欧美成人艳星乳罩| 成人av资源网站| 亚洲国产日韩一级| 日韩美一区二区三区| 国产91精品露脸国语对白| 综合网在线视频| 欧美丰满少妇xxxbbb| 国产一区二区三区国产| 日韩伦理免费电影| 欧美老人xxxx18| 国产成人久久精品77777最新版本| 国产精品情趣视频| 欧美理论在线播放| 成人av在线电影| 午夜不卡在线视频| 国产午夜亚洲精品不卡| 色综合中文字幕| 久久精品国产免费| 亚洲免费观看高清在线观看| 91精品国产入口在线| 成人性生交大片免费看在线播放| 亚洲国产欧美日韩另类综合 | 国产乱码一区二区三区| 亚洲欧美自拍偷拍色图| 91精品欧美综合在线观看最新 | 亚洲女同女同女同女同女同69| 欧美日韩一区二区三区不卡| 国产传媒欧美日韩成人| 亚洲成人久久影院| 国产精品电影院| 欧美mv和日韩mv的网站| 91国偷自产一区二区开放时间| 激情av综合网| 性做久久久久久| 亚洲日本在线视频观看| 久久久激情视频| 日韩欧美中文一区| 欧美日韩一区在线| 99v久久综合狠狠综合久久| 捆绑调教美女网站视频一区| 夜夜揉揉日日人人青青一国产精品 | 日韩高清一区二区| 亚洲人亚洲人成电影网站色| 国产欧美精品一区aⅴ影院| 9191成人精品久久| 欧美日韩一二区| 欧美亚洲丝袜传媒另类| 91污在线观看| 99re成人精品视频| av一区二区三区在线| 国产99一区视频免费| 国产自产v一区二区三区c| 久久精品av麻豆的观看方式| 日本亚洲天堂网| 男女男精品网站| 另类欧美日韩国产在线| 喷白浆一区二区| 玖玖九九国产精品| 捆绑紧缚一区二区三区视频| 久久99国产乱子伦精品免费| 老司机精品视频一区二区三区| 日韩av一区二区三区| 青青草97国产精品免费观看无弹窗版 | 精东粉嫩av免费一区二区三区| 日韩av电影天堂| 九九在线精品视频| 精品午夜久久福利影院| 精品一区二区免费看| 久久精品国产999大香线蕉| 国内精品视频666| 国产美女av一区二区三区| 国产成人免费视频精品含羞草妖精 | 亚洲人成在线观看一区二区| 亚洲男人的天堂一区二区| 亚洲免费大片在线观看| 亚洲国产精品尤物yw在线观看| 三级不卡在线观看| 国产一区欧美日韩| 99re这里都是精品| 欧美午夜电影在线播放| 欧美一卡2卡3卡4卡| 国产亚洲精品bt天堂精选| 亚洲欧洲日韩在线| 亚洲一区二区三区中文字幕在线| 午夜久久久影院| 久久se精品一区精品二区| 成人精品亚洲人成在线| 欧美三级中文字幕| 精品欧美一区二区久久| 中文字幕在线不卡一区二区三区 | 国产精品资源在线| 91美女片黄在线观看91美女| 欧美日韩国产首页| 国产夜色精品一区二区av| 亚洲色图19p| 精品一区二区精品| 91麻豆视频网站| 日韩欧美国产综合一区| 亚洲欧美视频一区| 国产真实乱偷精品视频免| 色猫猫国产区一区二在线视频| 日韩一区二区免费电影| 国产精品超碰97尤物18| 日韩电影在线免费看| 成人av动漫在线| 日韩精品一区二区三区四区视频 | 欧美日韩日日摸| 国产精品美女久久久久久| 日韩激情视频网站| hitomi一区二区三区精品| 日韩三区在线观看| 亚洲理论在线观看| 国产精品一区二区在线看| 欧美日韩五月天| 国产精品久久久久久亚洲伦| 看电视剧不卡顿的网站| 欧美性色黄大片| 日韩一区欧美小说| 国产麻豆精品在线| 91精品国产综合久久久蜜臀粉嫩| 中文字幕一区二区三区不卡| 国内精品久久久久影院色| 在线观看日韩电影| 中文字幕一区二区三区四区 | 精品一区二区三区在线播放视频 | 色婷婷av一区二区三区软件| 久久婷婷成人综合色| 日韩激情一区二区| 91精品蜜臀在线一区尤物| 亚洲综合丝袜美腿| 91麻豆国产精品久久| 国产欧美日韩在线| 国产一区二区调教| 精品精品国产高清a毛片牛牛| 亚洲电影第三页| 欧美日韩视频在线一区二区| 亚洲精品一二三| 91久久人澡人人添人人爽欧美| 国产精品乱人伦中文| 国产suv精品一区二区三区| 国产亚洲女人久久久久毛片| 激情文学综合丁香| 2020国产精品| 国产一区二区三区黄视频 | 欧美日韩国产综合视频在线观看| 亚洲精品成人少妇| 在线观看欧美日本| 亚洲午夜精品在线| 欧美日韩aaaaa|