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

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

?? uart.c

?? Discription: This multi-master driver provides the software interface to the I2C Bus hardware of th
?? C
?? 第 1 頁 / 共 4 頁
字號:
#include "UART.h"
#include "Rtos.h"
#include "i2c.h"
#include "LMSAStructs_Common.h"
#include "CAN/LMSAStructs_YXE.h"
#include "ElctFm.h"
#include "LibWarnings.h"
#include "ElctSFP.h"
#include "stdio.h"

extern uint8_t sfpPlugged;

#define BAUDRATE			103	// Baudrate 4800     
#define BUFSIZE	8
#define COMA	'A'
#define COMa	'a'
#define COMB	'B'
#define COMb	'b'
#define COMC    'C'
#define COMc	'c'
#define COMD	'D'
#define COMd	'd'
#define COME	'E'
#define COMe 	'e'
#define COMF	'F'
#define COMf	'f'
#define COMG	'G'
#define COMg	'g'
#define COMH	'H'
#define COMh	'h'
#define COMI	'I'
#define COMi	'i'
#define COMJ	'J'
#define COMj	'j'
#define COMK	'K'
#define COMk	'k'
#define COML	'L'
#define COMl	'l'
#define COMM	'M'
#define COMm	'm'
#define COMX	'X'
#define COMx 	'x'
#define COMR	'R'
#define COMr	'r'
#define COMZ	'Z'
#define COMz	'z'
#define COMY    'Y'
#define COMy    'y'
#define COMN    'N'
#define COMn    'n'
#define COM1    '1'
#define COM2    '2'
#define COM3    '3'
#define COM4    '4'
#define INPUTC  "Please input your choice"
#define ALARMT  "True "
#define ALARMF  "False"
#define NR      "\r\n"
//#define Information " Information"
#define Version     "Version"
#define Operation   "Operation"
#define protocol    "protocol"
#define Boot        "Boot"
#define SFP         "SFP1"
static byte RxBuffer[BUFSIZE];
static char TxBuffer[82];
static volatile unsigned int RxBufBottom = 0;
static volatile unsigned int RxBufTop = 0;
enum CliDisplay {cliMainM,cliCrossM,cliOCProtectM,cliUnitM,cliSFPM,
                    cliCdrM,cliCdrUS,cliCdrS,
                    cliProtocolM,cliProtocolUS,cliProtocolS,
                    cliOpMdM,cliOpMdUS,cliOpMdS,
                    cliCLCM,
                    cliBootM,cliBootUS,cliBootS,cliSFPTXM};

static volatile byte *pwriteEeprom;
static byte writeMask;
//extern byte* entryAddrMIB[];
//extern OS_RSEMA mibTableSema;
static volatile unsigned int RxBufPoi = 0;

static OS_TASK hdlTransmissionRS232Task;
static OS_STACKPTR int RS232Stack[190];

static OS_CSEMA semaRS232;

//static bool useFlash = false;

void hdlTransmissionRS232 ( void );
//
char *OperationalMode[]= {"Default","Loopback","Crossconnect"};
#define OpMdMax 3
char *Protocol[]={"FE","GE","2XGE","FDDI","STM-1/OC3","STM-4/OC12","STM-16/OC48","STM-16/OC48 FEC","ESCON","FC","2XFC","4XFC"};
#define PtclMax 12
char *Bootup[]={"Factory","User"}; 
#define BtUpMax 2 
char *Encode[]= {"Unspecified","8B10B","4B5B","NRZ","Manchester","Scrambled"};
#define EncdMax 6
char *Media[]= {"SM","MM","Copper"};
#define MdMax 3
char *TransDis[]= {"Long","Intermediate","Shot","Very Long"};
#define TrsMax 4
char *RxClkMode[]={"Repeater","Retimer","Bypass"};
#define RxCkMax 3
//-----------------------------------------------------------------------------
//	Data into Receive buffer 
//-----------------------------------------------------------------------------
_inline
void RxData(int RxComData)
{
 	RxBuffer[RxBufTop]= RxComData ;	
   	RxBufTop = (RxBufTop + 1) & (BUFSIZE-1);	// FIFO
  	OS_SignalCSema(&semaRS232);
}

void UART_INIT (byte *enablePort,byte enablePortMask)
{ 
	OS_CREATECSEMA( &semaRS232 );
	OS_CreateTask( &hdlTransmissionRS232Task, "RS232_I2C_Task",10, &hdlTransmissionRS232, &RS232Stack, sizeof(RS232Stack),1); 
    pwriteEeprom = enablePort;
	writeMask=enablePortMask;

	RX_RS232_UART1_DIR  = 0;			// Input
	TX_RS232_UART1_DIR  = 1;			// Output


  U1MR   = 0x00;        //  lock Sio, error reset
  U1C0   = 0x10;        //  RTS/CTS disabled, set clock divisor
  U1BRG  = BAUDRATE;  	//  Calculated Baudrate
  U1C1   = 0;           //  Lock Rx and Tx
  U1MR   = 0x05;         //  8  Data
  OS_IncDI();
  U1IRS  = 0;           //  transmit-interrupt on buffer empty
  U1C1   = 5;           //  enable reception and transmission
  S1RIC  = 0x06;       //  Enable UART Rx interrupts	- Interrupt Register
  S1TIC  = 0x06;           //  Enable UART Tx interrupts

  _nop();
  _nop();
  _nop();
  OS_DecRI();
} 
void uart_SendChar( byte len )
{
	unsigned int point = 0;

	while( len )
	{
     		while (!(U1C1 & (1<<1))); 	   	// Wait until TB empty
  	  		U1TBL = TxBuffer[point++];
            len--;
  	}
}
void uart_SendLine( void )
{
	unsigned int point = 0;

	while( TxBuffer[point] != '\0' )
	{
     		while (!(U1C1 & (1<<1))); 	   	// Wait until TB empty
  	  		U1TBL = TxBuffer[point++];
  	}
}

void TxDataEnd(void)
{
	while (UCON & 0x02 == 0) {}	  		//  UART1: UCON & 0x02 !!!
}

_interrupt(19) void RS232DataSend (void) 
{ 
	OS_EnterInterrupt();  			//  We will disable interrupts 
  	TxDataEnd();					// Transmission completed ?();
        OS_LeaveInterruptNoSwitch();
}
					
			
_interrupt(20) void RS232DataRead (void)
{
  	int Data;
  	int DataL;
	OS_EnterInterrupt();  			//  We will disable interrupts 
  	Data = U1RB;
  	DataL = U1RBL;
  	if (Data & 0x6000) 
  	{    					// Check if errors occurred 
    	U1C1 &= 255-(1<<2);   		// disable Rx
    	U1C1 |=  (1<<2);      		// enable Rx => error reset
  	} 
  	else
	{
  		RxData(DataL);
	}
	OS_LeaveInterruptNoSwitch();
}
byte uart_WaitForLine( char *c )
{
	unsigned int myRxBufBottom, newRxBufBottom;
	byte cPoint = 0; 
	while(1)
	{
		OS_WaitCSema( &semaRS232 );
		myRxBufBottom = RxBufBottom;
		newRxBufBottom = (myRxBufBottom + 1) & (BUFSIZE - 1);
		RxBufBottom = newRxBufBottom;
		c[cPoint] = RxBuffer[myRxBufBottom];
		if( c[cPoint] == '\n' ) break;
		cPoint++;
	}
	return cPoint;
}
void WepromCom (byte comline,char *command)
{
    sprintf(TxBuffer,command);
    WC_EEPROM_PORT &= ~WC_EEPROM_MASK;
    writeEEProm(comline*80, 80, TxBuffer, e_I2c_EEPROM1DvcAdr, eeprom_Large );
    WC_EEPROM_PORT |= WC_EEPROM_MASK;
    uart_SendLine();
}
void RepromCom (byte comline)
{
    memset(TxBuffer, 0, 80);
    readEEProm(comline*80, 80, TxBuffer,e_I2c_EEPROM1DvcAdr,eeprom_Large);
    uart_SendLine();
}
void MainM (void)
{
    /*WepromCom(0,"\r\n");
    WepromCom(1,"        A> Product Parameters\r\n");
    WepromCom(2,"        B> Card Information\r\n");
    WepromCom(3,"        C> Cross Connect Information\r\n");
    WepromCom(4,"        D> Channel Protection Information\r\n");
    WepromCom(5,"        E> Unit Information\r\n");
    WepromCom(6,"        F> Inquery Alarm\r\n");
    WepromCom(7,"        G> Inquery Warning\r\n");
    WepromCom(8,"        H> Inquery All\r\n");
    WepromCom(9,"Please input your choice<A - H,X,Z>:"); */
    RepromCom(0);    //sprintf(TxBuffer,"\r\n");
    RepromCom(1);    //sprintf(TxBuffer,"        A> Product Parameters\r\n");
    RepromCom(2);    //sprintf(TxBuffer,"        B> Card Information\r\n");
    RepromCom(3);    //sprintf(TxBuffer,"        C> Cross Connect Information\r\n");
    RepromCom(4);    //sprintf(TxBuffer,"        D> Channel Protection Information\r\n");
    RepromCom(5);    //sprintf(TxBuffer,"        E> Unit Information\r\n");
    RepromCom(6);    //sprintf(TxBuffer,"        F> Inquery Alarm\r\n");
    RepromCom(7);    //sprintf(TxBuffer,"        G> Inquery Warning\r\n");
    RepromCom(8);    //sprintf(TxBuffer,"        H> Inquery All\r\n");
    RepromCom(9);    //sprintf(TxBuffer,"Please input your choice<A - H,X,Z>:");
}
void StartM (void)
{
    /*WepromCom(10,"Dowslake Network Management Software Command Line Interface.\r\n");
    WepromCom(11,"Copyright <c> 2007 by Dowslake Co.,Ltd.\r\n");
    WepromCom(12,"Dowslake MACS4000 System,ELCT line card ,Version 0.10,Release Jan 7 2007\r\n");
    WepromCom(13,"\nSerial network interfaces\r\n");*/ 
    RepromCom(0);    //sprintf(TxBuffer,"\r\n");
    RepromCom(10);    //sprintf(TxBuffer,"Dowslake Network Management Software Command Line Interface.\r\n");
    RepromCom(11);    //sprintf(TxBuffer,"Copyright <c> 2007 by Dowslake Co.,Ltd.\r\n");
    RepromCom(12);    //sprintf(TxBuffer,"Dowslake MACS4000 System,ELCT line card ,Version 0.10,Release Jan 7 2007\r\n");
    RepromCom(13);    //sprintf(TxBuffer,"\nSerial network interfaces\r\n");
    MainM();
}
void ProductR(void)
{
    //WepromCom(37,"Product Information is:\r\n");
    //WepromCom(38,"Card Type: ELCT Line Card\r\n");
    RepromCom(37);   //sprintf(TxBuffer,"Product Information is:\r\n");uart_SendLine();
    RepromCom(38);   //sprintf(TxBuffer,"Card Type: ELCT Line Card\r\n");uart_SendLine();
    OS_Use( &mibTableSema );
    sprintf(TxBuffer,"Ser.No.: %.12s%s",entryAddrMIB[e_CmnSerialNo],NR);uart_SendLine();
    sprintf(TxBuffer,"Product ID: %.2s%s",entryAddrMIB[e_CmnProductID],NR);uart_SendLine();    
    sprintf(TxBuffer,"HW %.7s: %.6s%s",Version,entryAddrMIB[e_CmnHardwareVersion],NR);uart_SendLine();
    sprintf(TxBuffer,"SW %.7s: %.6s%s",Version,entryAddrMIB[e_CmnSoftwareVersion],NR);uart_SendLine();
    sprintf(TxBuffer,"FPGA %.7s: %.6s%s",Version,entryAddrMIB[e_Cmn_FPGATag],NR);uart_SendLine();
    sprintf(TxBuffer,"Manufacturing. Data: %.2s%s",entryAddrMIB[e_CmnDate],NR);uart_SendLine();
    OS_Unuse( &mibTableSema );
}

void CardR (void)
{
    uint16_t temp;
    float volttemp;
    measureTemp();
    measureAnalogSigs();
    sprintf(TxBuffer,"Card Information is :\r\n");uart_SendLine();
    OS_Use( &mibTableSema );
    sprintf(TxBuffer,"Card Temperature(C): %d%s",*((byte*)entryAddrMIB[e_ELCT_CardTemperature]),NR);uart_SendLine();  
    temp = *((word*)entryAddrMIB[e_ELCT_CardVoltage5V]);
    volttemp = (float)temp/1000;
    sprintf(TxBuffer,"Card Voltage(V): %4.2f%s",volttemp,NR);uart_SendLine();
    sprintf(TxBuffer,"Slot Number: %d%s",*((byte*)entryAddrMIB[e_CmnSlotNumber]),NR);uart_SendLine();
    OS_Unuse( &mibTableSema );
    temp = getWarningFlags();
    sprintf(TxBuffer,"Card Warning:");
    TxBuffer[13]=13;TxBuffer[14]=10;TxBuffer[15]=0;uart_SendLine();
    sprintf(TxBuffer,"Temperature: "); 
    if(temp & (((unsigned long) 1) << e_WarnCardTempHigh))  sprintf(TxBuffer+13,ALARMF);
    else sprintf(TxBuffer+13,ALARMT);
    TxBuffer[18]=13;TxBuffer[19]=10;TxBuffer[20]=0;uart_SendLine();
    sprintf(TxBuffer,"Voltage Low: ");
    if(temp & (((unsigned long) 1) << e_WarnCardV5Low))     sprintf(TxBuffer+13,ALARMF);
    else sprintf(TxBuffer+13,ALARMT);
    TxBuffer[18]=13;TxBuffer[19]=10;TxBuffer[20]=0;uart_SendLine();
    sprintf(TxBuffer+8,"High:");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人动漫在线观看| 777久久久精品| 中文字幕巨乱亚洲| 国产精品一区在线观看乱码| 久久噜噜亚洲综合| 韩国三级中文字幕hd久久精品| 欧美videossexotv100| 老司机精品视频在线| 久久嫩草精品久久久精品| 国产成人亚洲精品狼色在线| 欧美国产精品劲爆| 成人激情校园春色| 依依成人精品视频| 欧美日韩亚洲综合在线| 免费观看成人鲁鲁鲁鲁鲁视频| 日韩欧美亚洲国产精品字幕久久久| 久久se精品一区精品二区| 久久免费看少妇高潮| 99在线精品观看| 亚洲成av人在线观看| 精品少妇一区二区三区日产乱码| 国产麻豆成人精品| 国产精品无码永久免费888| 91国产免费看| 麻豆精品视频在线观看| 国产女人18水真多18精品一级做| 欧美一二三四区在线| 韩国av一区二区三区在线观看| 国产清纯白嫩初高生在线观看91| 99久久综合99久久综合网站| 五月婷婷欧美视频| 精品国产乱码久久久久久老虎 | 久久国产精品99久久人人澡| 国产蜜臀97一区二区三区| 91久久精品国产91性色tv| 麻豆免费精品视频| 1024国产精品| 欧美一级二级在线观看| 成人av动漫在线| 青青草原综合久久大伊人精品| 国产午夜精品久久| 欧美亚洲日本一区| 国产精品一二三区在线| 亚洲一区二区三区四区在线免费观看 | 色婷婷av一区| 久久草av在线| 一区二区国产视频| 久久综合久久久久88| 在线观看免费成人| 国产麻豆欧美日韩一区| 亚洲成av人片在线观看| 国产精品乱码人人做人人爱| 欧美一区二区三区视频在线观看 | 欧美日韩一二三| 国产91露脸合集magnet | 国产色爱av资源综合区| 色一情一伦一子一伦一区| 理论片日本一区| 亚洲午夜一区二区| 日本一区二区三区电影| 精品黑人一区二区三区久久| 欧美日韩在线免费视频| 成人动漫在线一区| 激情综合五月天| 日韩电影一区二区三区四区| 一区二区激情视频| 亚洲国产精品精华液2区45| 精品国产3级a| 日韩一卡二卡三卡国产欧美| 欧美片在线播放| 日本黄色一区二区| av成人老司机| 国产成人av电影在线观看| 激情文学综合网| 黄网站免费久久| 久久精品国产秦先生| 日韩精品视频网站| 亚洲成人av福利| 水蜜桃久久夜色精品一区的特点| 亚洲最新在线观看| 一区二区高清视频在线观看| 一区二区三区资源| 亚洲精品菠萝久久久久久久| 亚洲狼人国产精品| 亚洲人成在线播放网站岛国| 亚洲视频图片小说| 中文字幕综合网| 亚洲欧美日韩国产综合| 亚洲美女屁股眼交3| 亚洲自拍偷拍av| 亚洲国产精品嫩草影院| 亚洲动漫第一页| 日韩不卡手机在线v区| 日韩高清国产一区在线| 免费人成在线不卡| 麻豆freexxxx性91精品| 国产美女娇喘av呻吟久久| 国产精品一区二区不卡| 成人免费观看男女羞羞视频| 99国产精品国产精品毛片| 91美女片黄在线观看91美女| 欧美性色黄大片| 欧美二区在线观看| 精品久久国产老人久久综合| 久久―日本道色综合久久| 欧美激情在线看| 亚洲黄色小说网站| 日韩精品乱码免费| 久久av老司机精品网站导航| 丁香桃色午夜亚洲一区二区三区| 99久久精品国产毛片| 欧美色爱综合网| 久久亚洲欧美国产精品乐播 | 欧美视频在线观看一区| 日韩一级二级三级| 国产亚洲自拍一区| 亚洲乱码一区二区三区在线观看| 天天操天天干天天综合网| 精品亚洲成av人在线观看| 成人性生交大合| 欧美午夜精品久久久久久超碰 | 日韩国产欧美视频| 国产在线精品一区二区夜色| 99久久久国产精品| 欧美日韩免费观看一区三区| 久久久久久久综合色一本| 综合分类小说区另类春色亚洲小说欧美| 亚洲国产va精品久久久不卡综合| 激情综合色综合久久| 91在线观看视频| 精品日本一线二线三线不卡| 怡红院av一区二区三区| 国内精品久久久久影院薰衣草| 日本精品视频一区二区| 精品久久免费看| 亚洲最快最全在线视频| 国产精品一区二区男女羞羞无遮挡 | 久久福利资源站| 色婷婷久久久久swag精品| 精品88久久久久88久久久| 亚洲最大成人综合| 国产91丝袜在线播放| 91麻豆精品国产91久久久更新时间| 国产精品高潮久久久久无| 日本人妖一区二区| 91性感美女视频| 久久综合久色欧美综合狠狠| 婷婷中文字幕综合| 99久久精品99国产精品| 一区二区久久久| 成人黄色片在线观看| 精品成人a区在线观看| 丝袜亚洲另类丝袜在线| 在线一区二区三区四区| 国产精品免费av| 国产成人亚洲综合a∨婷婷| 欧美大片在线观看一区| 亚洲一区二区精品视频| 91麻豆自制传媒国产之光| 欧美经典三级视频一区二区三区| 麻豆国产精品一区二区三区| 欧美人与z0zoxxxx视频| 一区二区三区在线观看动漫| av在线不卡网| 日本一区二区免费在线| 精品在线播放免费| 欧美一区二区三区色| 亚洲国产精品久久艾草纯爱| 在线国产亚洲欧美| 亚洲三级在线免费| 97国产一区二区| 中文字幕一区二区三区不卡在线| 成人一道本在线| 日本一区二区三级电影在线观看 | 国产精品 欧美精品| 精品国产一区二区三区av性色 | 欧美一级高清大全免费观看| 免费欧美在线视频| 欧美一级电影网站| 老司机精品视频线观看86| 日韩一区二区三区免费看| 老司机一区二区| 久久综合色之久久综合| 国产精品一区二区不卡| 国产精品理论片在线观看| 99久久久久免费精品国产| 亚洲精品视频观看| 在线视频一区二区免费| 婷婷一区二区三区| 日韩一区二区三区视频| 精品一区二区在线视频| 国产亚洲欧美日韩日本| 成人三级伦理片| 亚洲黄色在线视频| 在线成人av影院| 狠狠色伊人亚洲综合成人| 国产精品系列在线| 在线视频国内自拍亚洲视频| 喷水一区二区三区| 久久欧美中文字幕|