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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? mcu_uart.c

?? 單相 CPU卡表復(fù)費(fèi)率電能表,內(nèi)部有提供I2C驅(qū)動(dòng),CPU卡驅(qū)動(dòng),NEC單片機(jī)0513等
?? C
字號(hào):
#pragma	interrupt	INTSR6		MD_INTSR6
#pragma	interrupt	INTST6		MD_INTST6
#include "includes.h"

unsigned char mcu_rx_buf[MCU_UART_RX_BUF_SIZE];
sreg unsigned char mcu_tx_buf[MCU_UART_TX_BUF_SIZE];

volatile unsigned char modem_tx_recv_ptr = 0;
volatile unsigned char modem_tx_send_ptr = 0;
volatile unsigned char modem_tx_status = 0;

unsigned char mcu_rx_len = 0;
unsigned char mcu_rx_flag = 0;
unsigned char mcu_tx_pos = 0;
unsigned char mcu_tx_len = 0;

const unsigned char _mcu_br[] = 
{
    0x07,0x68,//300
    0x07,0x34,//600
    0x06,0x34,//1200
    0x06,0x1A,//2400
    0x05,0x1A,//4800
    0x04,0x1A,//9600
    0x02,0x09//115200
};

int set_mcu_uart_baud_rate(void)
{
    unsigned char br;

    if( ( soft_switch & SOFT_SWITCH_GRADE ) != 0 )      
    {
        E2promRead( MANUFACTURER_BAUD_RATE, &br, LEN_BAUD_RATE );
    }
    else 
    {
        E2promRead( CLIENT_BAUD_RATE, &br, LEN_BAUD_RATE );
    }
    
    if( br > 6 ) br = 5;

    CKSR6  = _mcu_br[br*2];
    BRGC6 = _mcu_br[br*2 + 1];

    return 0;	
}

int mcu_uart_start_to_rx(void)
{    
    SRMK6 = 1; // 關(guān)接收中斷       
    mcu_rx_len = 0;    
    mcu_rx_flag = MCU_RX_STAR;	
    modem_tx_send_ptr = 0;
    modem_tx_recv_ptr = 0;
    modem_tx_status = FRAME_TX_START;    
    RS232_RXD_DIR |= RS232_RXD;
    ASIM6 = 0;	
    RS485_RX_EN();    
    ASIM6 |= (BIT2|BIT0);    //無(wú)校驗(yàn), 8位,1位停止位
    ASICL6 = 0x16;	
    set_mcu_uart_baud_rate();		
    SRIF6=0;
    SRMK6=0;
    SRPR6=1;
    ASIM6.7 = 1; //POWER6 = 1
    delay(5);
    SetIORBit( ASIM6, 0x60 ); //啟動(dòng)發(fā)送和接收
    
    return 0;	
}

int mcu_uart_start_to_tx( unsigned char *dPtr, unsigned char len )
{
    unsigned short cnt = 0;
	
    if( len > sizeof( mcu_tx_buf ) )
    {
        return;
    }        
  
    while( mcu_tx_len )
    {
        clr_wdt();
        if( cnt++ > 5000 )
        {
            mcu_uart_init();
            break;
        }            
    }

    STMK6 = 1; // 關(guān)發(fā)送中斷	
    if( dPtr != mcu_tx_buf )
    {
        memcpy( mcu_tx_buf, dPtr, len );
    }
    mcu_tx_pos = 0;
    mcu_tx_len = len-1;    	
    RS485_TX_EN();    	
    RS232_TXD_OUT |= RS232_TXD;	
    set_mcu_uart_baud_rate();		
    STIF6=0;    
    STPR6=1;
    TXB6 = mcu_tx_buf[mcu_tx_pos++];	
    STMK6=0;
    
    return 0;	
}

__interrupt void MD_INTSR6( void )
{
    unsigned char err_flag,rxdata;
	
    err_flag = ASIS6;	
    rxdata = RXB6;
    if( err_flag != 0 )
    {        
        return;
    }
	    
    if( mcu_rx_len >= ( sizeof( mcu_rx_buf )-1 ) )
    {
        mcu_rx_flag = MCU_RX_ERROR;
        return;		
    }
    else
    {
        if( modem_tx_status == FRAME_TX_START )
        {
            mcu_rx_buf[mcu_rx_len++] = rxdata;  
        }

        mcu_rx_flag = MCU_RX_DEAL; 
        
        if( ( modem_state == _m22_online_csd ) || ( modem_state == _m22_online_gprs ) )
        {          
            modem_tx_buf[modem_tx_recv_ptr] = rxdata;
            modem_tx_recv_ptr = ( modem_tx_recv_ptr + 1 ) % TX_BUF_SIZE;
            if( ( modem_tx_status == FRAME_TX_START ) && ( modem_tx_recv_ptr >= TX_BUF_HALF_SIZE ) )
            {
                mcu_rx_len = 0;
                modem_tx_status = FRAME_TX_PROCESS;
                sys_evt_add( SYS_EVT_FRMMCU_FRAME );    
            }
        }
    }	
}

__interrupt void MD_INTST6( void )
{
    if( mcu_tx_status == FRAME_TX_PROCESS )
    {
        TXB6 = mcu_tx_buf[mcu_tx_send_ptr];
        mcu_tx_send_ptr = ( mcu_tx_send_ptr + 1 ) % TX_BUF_SIZE;  
        if( mcu_tx_send_ptr == mcu_tx_recv_ptr )
        {
            mcu_tx_status = FRAME_TX_END;
        }
    }
    else if( mcu_tx_status == FRAME_TX_END )
    {
        STMK6 = 1;
        RS485_RX_EN();
        mcu_rx_flag = MCU_RX_STAR;  
        sys_evt_add( SYS_EVT_MODEM_UART_INIT );
    }
    else
    {
        if( mcu_tx_len )
        {
            if( ( !( ASIF6 & 0x02 ) ) && ( ASIM6 & 0x80 ) )
            {
                TXB6 = mcu_tx_buf[mcu_tx_pos ++];
                mcu_tx_len--;
            }
        }
        else
        {
            STMK6 = 1;
            RS485_RX_EN();
            mcu_rx_flag = MCU_RX_STAR;
        }
    }    
}

int mcu_uart_init(void)
{
    mcu_uart_start_to_rx();        
    return 0;	
}

int mcu_uart_check(void)
{
    unsigned char  rxd_len = 0;

    if( mcu_rx_flag >= MCU_RX_ERROR )
    {
        mcu_uart_start_to_rx();
    }

    if( mcu_rx_flag & MCU_RX_END )
    {
        if( mcu_rx_flag == MCU_RX_END )
        {            
            SRMK6 = 1;
            rxd_len = mcu_rx_len;	
            mcu_rx_buf[mcu_rx_len] = 0;
        } 
        else
        {
            SRMK6 = 1;
            mcu_rx_flag = MCU_RX_END;
            SRMK6 = 0;
        }
    }
    
    return rxd_len;
}


?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久国产精品99精品国产| 亚洲国产精华液网站w| 午夜欧美一区二区三区在线播放| 欧洲日韩一区二区三区| 亚洲国产成人va在线观看天堂| 欧美精品tushy高清| 蜜桃视频在线观看一区| 国产亚洲一本大道中文在线| av在线免费不卡| 尤物在线观看一区| 日韩一区二区免费高清| 国产麻豆一精品一av一免费 | 欧美精品在线观看一区二区| 日韩综合一区二区| 欧美精品一区二区在线播放| 成人理论电影网| 亚洲国产wwwccc36天堂| 欧美成人精品福利| 91在线视频网址| 麻豆精品久久久| 亚洲欧美日韩国产综合在线| 欧美剧情电影在线观看完整版免费励志电影 | 在线免费精品视频| 另类中文字幕网| 中文字幕一区二区三区在线不卡| 欧美日韩国产不卡| 懂色av中文字幕一区二区三区| 国内国产精品久久| 亚洲一区二区四区蜜桃| 久久久亚洲精华液精华液精华液| 日本韩国欧美国产| 国精产品一区一区三区mba视频| 亚洲色图.com| 精品久久五月天| 欧美午夜精品一区二区蜜桃| 国产精品亚洲午夜一区二区三区 | 欧美日高清视频| 国产成人免费高清| 石原莉奈一区二区三区在线观看| 欧美国产精品一区二区| 日韩一区二区三| 欧美在线免费观看视频| 国产成人免费在线| 日韩不卡手机在线v区| 亚洲卡通欧美制服中文| 久久精品欧美日韩| 日韩无一区二区| 欧美视频在线观看一区二区| 不卡的av网站| 国产一区 二区| 麻豆精品国产传媒mv男同| 亚洲最快最全在线视频| 中文字幕一区二区三区不卡| 国产亚洲制服色| 26uuu久久综合| 日韩欧美在线一区二区三区| 精品视频一区 二区 三区| av中文字幕亚洲| 成人动漫一区二区三区| 国产精品18久久久| 国产精品自拍网站| 久久99热狠狠色一区二区| 免费观看久久久4p| 肉肉av福利一精品导航| 亚洲国产cao| 亚洲影院理伦片| 一区二区三区日韩精品视频| 亚洲精品成人少妇| 亚洲人成人一区二区在线观看| 国产精品大尺度| 中文字幕一区免费在线观看| 中文字幕一区二区三区四区| 中文字幕一区二区三区在线不卡| 国产精品传媒入口麻豆| 中文字幕va一区二区三区| 国产精品免费视频一区| 国产精品久久久爽爽爽麻豆色哟哟| 欧美国产国产综合| 国产精品乱人伦一区二区| 中文字幕色av一区二区三区| 成人免费不卡视频| 成人免费看视频| 91麻豆国产福利精品| 91香蕉视频黄| 欧美三级电影精品| 制服丝袜亚洲精品中文字幕| 欧美一区二区在线免费播放| 欧美变态tickling挠脚心| 欧美精品一区二区三区高清aⅴ| 欧美精品一区二区三| 国产精品视频免费| 一区二区三区在线观看国产| 午夜精品福利一区二区蜜股av | 亚洲四区在线观看| 亚洲一区二区欧美激情| 日本亚洲欧美天堂免费| 精品一区二区久久久| 国产激情精品久久久第一区二区| 成人黄色网址在线观看| 91福利国产精品| 欧美一级日韩一级| 欧美激情自拍偷拍| 亚洲国产日韩一区二区| 精品一区二区三区日韩| 9l国产精品久久久久麻豆| 欧美视频一区在线| 欧美mv日韩mv国产网站app| 国产欧美日韩精品在线| 一区二区三区四区视频精品免费 | 欧美一级在线视频| 中文一区二区在线观看| 亚洲第一福利一区| 国产一区二区三区国产| 91久久精品网| 久久久久久久综合| 亚洲线精品一区二区三区| 国产主播一区二区三区| 在线观看亚洲a| 久久综合九色综合97婷婷女人 | 精品欧美一区二区三区精品久久| 日本一区二区在线不卡| 亚洲成国产人片在线观看| 国产成人综合亚洲91猫咪| 欧美日韩国产综合草草| 国产精品视频一二三区| 日本欧美韩国一区三区| 91啪亚洲精品| 国产日韩欧美a| 日韩**一区毛片| 色香蕉久久蜜桃| 久久久久9999亚洲精品| 欧美亚洲综合在线| 国产精品丝袜一区| 麻豆久久久久久久| 欧美午夜影院一区| 国产精品久久免费看| 狠狠色综合色综合网络| 欧美精品自拍偷拍| 亚洲一区二区视频| av在线一区二区| 欧美韩国日本综合| 黄一区二区三区| 日韩欧美国产系列| 天堂成人国产精品一区| 91免费视频网| 中文字幕欧美一区| 成人综合婷婷国产精品久久蜜臀 | 一本色道久久加勒比精品| 国产日韩精品视频一区| 另类的小说在线视频另类成人小视频在线| 色狠狠一区二区三区香蕉| 国产精品久久久久婷婷| 国产成人精品综合在线观看| 久久这里只有精品视频网| 久久精品国产**网站演员| 91精品黄色片免费大全| 日韩激情在线观看| 4hu四虎永久在线影院成人| 亚洲6080在线| 欧美精品 国产精品| 午夜电影一区二区三区| 欧美日韩精品一区二区天天拍小说 | 视频一区视频二区中文| 欧美日韩一级大片网址| 性做久久久久久免费观看| 欧美午夜寂寞影院| 亚洲3atv精品一区二区三区| 欧美日韩国产一区| 日本不卡一二三区黄网| 日韩欧美成人激情| 韩国毛片一区二区三区| 精品久久久久av影院| 国产一区二区中文字幕| 国产亚洲综合av| www.爱久久.com| 亚洲欧美福利一区二区| 欧美午夜精品一区二区三区| 午夜成人免费电影| 日韩欧美国产精品| 国产一区二区三区免费观看| 中日韩av电影| 色噜噜偷拍精品综合在线| 午夜免费久久看| 亚洲成人动漫在线免费观看| 欧美日韩国产一区| 久久99精品国产麻豆不卡| 久久精品人人做人人综合| 成人av电影免费在线播放| 一区二区三区四区高清精品免费观看 | 精品日韩在线一区| 国产成人综合视频| 亚洲乱码国产乱码精品精的特点| 欧美亚洲图片小说| 美女在线一区二区| 国产精品嫩草99a| 欧美日韩日日摸| 国产毛片精品一区| 亚洲一区二区三区视频在线 | 91精品国产色综合久久ai换脸| 激情综合网最新|