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

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

?? main.c

?? C51 CAN開發測試軟件和驅動程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
	  	FlightLed4=0;ClearLed4=0; 
	}
  }
}

 //按確認鍵后進入下一小項處理
void      EnterNext(void)  
{
	unsigned	char i;
   FlightLed3=1;
   FlightLed4=0;ClearLed4=0;
   MoveFlag=0;
   i=ReadSjaReg(REG_TxBuffer1+DispBuf[2]);
   DispBuf[2]++;
   DispBuf[3]=i>>4;
   DispBuf[4]=i&0x0f;
}

//發送鍵處理
void      CanSendKey(void)						//發送鍵
{
	if((ReadSjaReg(REG_CONTROL)&0x01)==0)
	{
     	BCAN_CMD_PRG(TR_CMD);
	}
	else
	{
		Write_DispBuf(0,0x0E,0x12,0x0f,0x0d);//在復位模式
	}
}

//
void  InitCPU(void)
{
 EA         =1;
 IT0        =1;
 EX0        =1;
 PX0        =1; 
 InitUart();        //初始化串口 
}                                             

////
uchar  Config_SJA(void)
{ 
  uchar  data   status=0;
  Delay_50us(100) ;
  TimeOut_Start(20);
  BandRateBuf = ByteRate_1000k;
  BCAN_ENTER_RETMODEL();
  if(BCAN_CREATE_COMMUNATION())//
    {
    status = CAN_INTERFACE_ERR;
    return(status);
  }
  if(BCAN_SET_BANDRATE(BandRateBuf))//初始化系統默認值波特率1000kbps
   {
    status = CAN_INITBTR_ERR ;
    return(status);
  }
  if(BCAN_SET_OBJECT(0xaa,0xff))
  {
    status =CAN_INITOBJECT_ERR;
    return(status);
  }
  
  if(BCAN_SET_OUTCLK(0xaa,0x48))
  {
    status =CAN_INITOUTCTL_ERR;
    return(status);
  }
  if(BCAN_QUIT_RETMODEL())
  {
    status = CAN_QUITRESET_ERR;
    return(status);
  }
  
  SJA_BCANAdr=REG_CONTROL;
  *SJA_BCANAdr=0X1E;
  
  return  status; 
}

//
void   CanRcv_Prg(void)
{
  uchar  data buf[10],status;
   if(BCAN_DATA_RECEIVE(buf))					//接收數據
   {status=0xe9;
    Error_disp(status);
   }
  else
  {  
    if(BCAN_CMD_PRG(0x04))
      Error_disp(0xe8);
	
	if((buf[1]&0x10)!=0)
	{
      switch(buf[1]&0x0f){						//遠程幀處理
	    case  0:								//請求發送命令字為0c1h的命令幀
		      buf[1]=(buf[1]&0xe0)|0x06;
  			  buf[2]=0xc1;
              BCAN_DATA_WRITE(buf);				//將編輯的數據發送到can總線
              BCAN_CMD_PRG(TR_CMD);
			  break;
		case  1:
		      buf[1]=(buf[1]&0xe0)|0x06;
  			  buf[2]=0xc2;
              BCAN_DATA_WRITE(buf);				//將編輯的數據發送到can總線
              BCAN_CMD_PRG(TR_CMD);
			  break;
		case  2:
		      buf[1]=(buf[1]&0xe0)|0x06;
  			  buf[2]=0xc3;
              BCAN_DATA_WRITE(buf);				//將編輯的數據發送到can總線
              BCAN_CMD_PRG(TR_CMD);
			  break;
        case  3:
              buf[1]=(buf[1]&0xe0)|0x06;
  			  buf[2]=0xc4;
              BCAN_DATA_WRITE(buf);				//將編輯的數據發送到can總線
              BCAN_CMD_PRG(TR_CMD);
			  break;	
		case  4:
		      buf[1]=(buf[1]&0xe0)|0x06;
  			  buf[2]=0xc5;
              BCAN_DATA_WRITE(buf);				//將編輯的數據發送到can總線
              BCAN_CMD_PRG(TR_CMD);
			  break;
		case  5:
		      buf[1]=(buf[1]&0xe0)|0x06;
  			  buf[2]=0xc6;
              BCAN_DATA_WRITE(buf);				//將編輯的數據發送到can總線
              BCAN_CMD_PRG(TR_CMD);
			  break;
		case  6:
		case  7:
		case  8:
		case  9:
		default:
		      break;
	  }
	}
	else
    switch(buf[2])
    {
	  case 0xc1:    							//直通顯示
	       DrecDisplay(&buf[3]);
		   break;
	  case 0xc2:								//消隱命令
	       ClearDispPrg(&buf[3]);
		   break;
	  case 0xc3:    							//測試命令
	       TestDispPrg();
		   break;
	  case 0xc4:								//左循環命令
	       LiftCrcDispPrg(&buf[3]);
		   break;
	  case 0xc5:    							//右循環命令
	       RightCrcDispPrg(&buf[3]);
           break;
	  case 0xc6:								//閃爍
	       FlightDispPrg(&buf[3]);            
	       break;
	  case 0xc9:								//改變總線波特率命令
	  default:
	       break;
	}
  }
}

//
void   DrecDisplay(uchar *databuf)	//直通顯示
{
   ClearDispAttr();
   memcpy(&DispBuf[1],&databuf[1],4);
   switch(databuf[0])
   {  
    case   0:
	       DispFlag|=0xe0;
           break;
	case   1:
	       DispFlag|=0xd0;
           break;
    case   2:
	       DispFlag|=0xb0;
           break;
	case   3:
	       DispFlag|=0x70;
           break;
	case   4:
	       DispFlag|=0xc0;
           break;
	case   5:
	       DispFlag|=0xa0;
           break;
	case   6:
	       DispFlag|=0x60;
           break;
	case   7:
	       DispFlag|=0x90;
           break;
	case   8:
	       DispFlag|=0x50;
           break;
	case   9:
	       DispFlag|=0x30;
           break;
	case   10:
	       DispFlag|=0x80;
           break;
	case   11:
	       DispFlag|=0x40;
           break;
	case   12:
	       DispFlag|=0x10;
           break;
	case   13:
	       DispFlag|=0x20;
           break;
	case   14:
	       DispFlag=0;
           break;
    default:
	       break;
   }

}

//測試處理函數
void   TestDispPrg(void)                       //測試處理函數
{
   uchar i;
   DispFlag=0;
   DispFlag|=0x0f;
   for(i=1;i<5;i++) DispBuf[i]=0x08;        
      
}
//消隱處理函數
void   ClearDispPrg(uchar *databuf)						//消隱處理函數
{
   ClearDispAttr();
   memcpy(&DispBuf[1],&databuf[1],4);
   DispFlag=0;
  switch(databuf[0])
   {  
    case   0:
	       DispFlag|=0x10;
           break;
	case   1:
	       DispFlag|=0x20;
           break;
    case   2:
	       DispFlag|=0x40;
           break;
	case   3:
	       DispFlag|=0x80;
           break;
	case   4:
	       DispFlag|=0x30;
           break;
	case   5:
	       DispFlag|=0x50;
           break;
	case   6:
	       DispFlag|=0x90;
           break;
	case   7:
	       DispFlag|=0x60;
           break;
	case   8:
	       DispFlag|=0xa0;
           break;
	case   9:
	       DispFlag|=0xc0;
           break;
	case   10:
	       DispFlag|=0x70;
           break;
	case   11:
	       DispFlag|=0xb0;
           break;
	case   12:
	       DispFlag|=0xe0;
           break;
	case   13:
	       DispFlag|=0xd0;
           break;
	case   14:
	       DispFlag|=0xf0;
           break;
    default:
	       break;
   }
}

//
void   FlightDispPrg(uchar *databuf)  					//閃爍處理函數	
{  
   ClearDispAttr();
   memcpy(&DispBuf[1],&databuf[1],4);
   DispFlag=0;
  switch(databuf[0])
   {  
    case   0:
	       DispFlag|=0x01;
           break;
	case   1:
	       DispFlag|=0x02;
           break;
    case   2:
	       DispFlag|=0x04;
           break;
	case   3:
	       DispFlag|=0x08;
           break;
	case   4:
	       DispFlag|=0x03;
           break;
	case   5:
	       DispFlag|=0x05;
           break;
	case   6:
	       DispFlag|=0x09;
           break;
	case   7:
	       DispFlag|=0x06;
           break;
	case   8:
	       DispFlag|=0x0a;
           break;
	case   9:
	       DispFlag|=0x0c;
           break;
	case   10:
	       DispFlag|=0x07;
           break;
	case   11:
	       DispFlag|=0x0b;
           break;
	case   12:
	       DispFlag|=0x0e;
           break;
	case   13:
	       DispFlag|=0x0d;
           break;
	case   14:
	       DispFlag|=0x0f;
           break;
    default:
	       break;
   }
}

//
void   LiftCrcDispPrg(uchar *databuf)           //左循環顯示處理
{
   ClearDispAttr();
   memcpy(&DispBuf[1],&databuf[1],4);
   LiftCrcDispFlag=1;RightCrcDispFlag=0;
}
void   RightCrcDispPrg(uchar *databuf)          //右循環顯示處理
{
  ClearDispAttr();
  memcpy(&DispBuf[1],&databuf[1],4);
  LiftCrcDispFlag=0;RightCrcDispFlag=1;
}

//
void   CanSend_Prg(void)         				//can發送數據
{
	if(AutoSendFlag)
	{
		if((DispBuf[1]==0x05)&&(DispBuf[2]==0x0d))	//
		{
			DispBuf[3]=	(unsigned char )TestSendData>>4;
			DispBuf[4]=	((unsigned char )TestSendData)&0x0f;
		}	
	}
}
void   CanErr_Prg(void) 	                    //發現錯誤后處理
{
	DispBuf[1]=0;
	DispBuf[2]=0;
   	Config_SJA();									//
	Error_disp(CAN_BUS_ERR); 
}
void   CanDtOver_Prg(void)                      //超載處理
{
//  BCAN_CMD_PRG(COS_CMD);
}
void   CanWui_Prg(void)                     	//喚醒中斷處理
{
  
}

//
void   UartRcv_Prg(void)						//串口接收到數據處理
{
    BCAN_DATA_WRITE(RcvBuf);				    //將編輯的數據發送到can總線
    BCAN_CMD_PRG(TR_CMD);
}

//自動發送
void   AutoSendDataToCanBus(void)
{
	
	if(AutoSendFlag)
	{
		if((ReadSjaReg(REG_CONTROL)&0x01)==0)
		{
			AutoSendFrameID >>=5;
			AutoSendFrameID++;
			if(AutoSendFrameID>0x0fe00)
			{
				AutoSendFrameID=0;	
			}
			AutoSendFrameID <<=5;
			TestSendData++;
			WriteSjaReg(REG_TxBuffer1,AutoSendFrameID>>8);
			WriteSjaReg(REG_TxBuffer2,((unsigned char)AutoSendFrameID&0xf0)|0x06);
			WriteSjaReg(REG_TxBuffer3,0xc1);
			WriteSjaReg(REG_TxBuffer4,14);
			WriteSjaReg(REG_TxBuffer5,(unsigned char)(TestSendData>>12));
			WriteSjaReg(REG_TxBuffer6,(unsigned char)((TestSendData>>8)&0x0f));
			WriteSjaReg(REG_TxBuffer7,((unsigned char)TestSendData>>4));
			WriteSjaReg(REG_TxBuffer8,((unsigned char)TestSendData&0x0f));
			BCAN_CMD_PRG(TR_CMD);
		}
		else
		{	
			AutoSendFlag=0;
			Write_DispBuf(0,0x0E,0x12,0x0f,0x0d);//在復位模式
		}
	}
  
}

//提取波特率的對應值
unsigned	char	ValueToBandRate(void)
{
	unsigned	char	i;
	unsigned	int		BandRate;	
	BCAN_ENTER_RETMODEL();
	i = ReadSjaReg(REG_BTR0);
	BandRate=(unsigned	int)(i<<8);
	i = ReadSjaReg(REG_BTR1);
	BandRate +=i;
	BCAN_QUIT_RETMODEL();
	switch(BandRate)
	{
		case	0xbfff:						//;5KBPS的預設值
			i =0;
			break;
		case	0x672f:						//;10KBPS的預設值
			i =1;
			break;
    	case	0x532F:		               //;20KBPS的預設值
			i =2;
			break;
    	case	0x87FF:                     //;40KBPS的預設值
			i =3;
			break;
    	case	0x472F:                     //;50KBPS的預設值
			i =4;
			break;
    	case	0x83FF:                     //;80KBPS的預設值
			i =5;
			break;
    	case	0x432f:                     //;100KBPS的預設值
			i =6;
			break;
    	case	0x031c:                     //;125KBPS的預設值
			i =7;
			break;
    	case	0x81fa:                     //;200KBPS的預設值
			i =8;
			break;
    	case	0x011c:                     //;250KBPS的預設值
			i =9;
			break;
    	case	0x80fa:                     //;400KBPS的預設值
			i =10;
			break;
    	case	0x001c:                     //;500KBPS的預設值
			i =11;
			break;
    	case	0x80b6:                     //;666KBPS的預設值
			i =12;
			break;
    	case	0x0016:                    //;800KBPS的預設值
			i =13;
			break;
    	case	0x0014:                      //;1000KBPS的預設值
			i =14;
			break;
		default:
			i=0xff;
			break;
	}
	return	i;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产第一区二区三区观看体验 | 26uuu精品一区二区在线观看| 国产a级毛片一区| 亚洲成人av一区| 欧美疯狂性受xxxxx喷水图片| 天天综合日日夜夜精品| 国产欧美一区二区三区在线看蜜臀 | 国产精品网友自拍| 久久精品二区亚洲w码| 欧美日韩亚洲综合| 日韩国产欧美在线视频| 日韩一区二区免费视频| 久久电影网电视剧免费观看| 精品久久久久一区二区国产| 精品一区二区在线播放| 麻豆精品一区二区av白丝在线| 五月天中文字幕一区二区| 91美女福利视频| 亚洲小说欧美激情另类| 欧美剧在线免费观看网站| 免费成人在线网站| 日本一区免费视频| 久久综合精品国产一区二区三区| 一区二区三区高清在线| 成人欧美一区二区三区1314| 国产精品乱码一区二区三区软件 | 91浏览器打开| 亚洲精选一二三| 亚洲线精品一区二区三区| 欧美一级在线视频| 国产精品中文字幕欧美| 激情深爱一区二区| 久久国产麻豆精品| 免费人成黄页网站在线一区二区 | 美女视频黄频大全不卡视频在线播放| 亚洲老司机在线| 亚洲欧美日韩久久| 不卡欧美aaaaa| 亚洲电影视频在线| 日本一区二区免费在线观看视频| 欧美性受极品xxxx喷水| 丁香婷婷综合五月| 日本欧美加勒比视频| 久久综合九色综合97婷婷| 欧美精品自拍偷拍| 在线观看日产精品| 不卡一区二区三区四区| 日韩精品欧美成人高清一区二区| 国产精品卡一卡二| 亚洲色图视频网| 久久精品视频一区二区| 精品久久久久久最新网址| 在线观看91精品国产麻豆| 91美女在线观看| 成人avav在线| 99久久久精品| 91免费视频网址| 91视频在线看| 欧美三区免费完整视频在线观看| 狠狠狠色丁香婷婷综合久久五月| 久久成人免费网| 久久精品国产精品青草| 国产v综合v亚洲欧| 337p日本欧洲亚洲大胆精品 | 免费一级片91| 国产成人av电影在线播放| 亚洲一区二区在线视频| 久久伊人中文字幕| 中文字幕av一区 二区| 国产精品久久久久一区二区三区共| 中文字幕欧美激情| 中文字幕永久在线不卡| 偷拍日韩校园综合在线| 奇米888四色在线精品| 在线不卡中文字幕| 精品一区二区三区久久| 欧美精品久久一区| 91精品国产入口在线| 精品福利一区二区三区 | 久久99久久久久久久久久久| 亚洲欧洲美洲综合色网| 午夜精品视频在线观看| 丁香五精品蜜臀久久久久99网站| 在线看日本不卡| 2017欧美狠狠色| 亚洲综合无码一区二区| 国产乱码精品一区二区三区五月婷| 成人激情电影免费在线观看| 欧美猛男gaygay网站| 国产女同互慰高潮91漫画| 日韩国产精品91| 一本大道av伊人久久综合| 精品精品国产高清一毛片一天堂| 亚洲欧洲成人av每日更新| 麻豆成人久久精品二区三区红 | 色国产综合视频| 精品久久久久久久人人人人传媒 | 亚洲码国产岛国毛片在线| 久久99精品久久久久久久久久久久| 一本大道久久a久久精二百| 久久久亚洲精品一区二区三区| 亚洲国产精品一区二区www在线| 国产精品自拍在线| 日韩一区二区三区在线视频| 亚洲国产视频在线| 99视频超级精品| 国产亚洲成年网址在线观看| 日韩主播视频在线| 在线观看三级视频欧美| 国产精品高清亚洲| 国产成人日日夜夜| 精品国产乱码久久久久久牛牛| 亚洲aaa精品| 色综合色狠狠综合色| 亚洲欧洲国产专区| youjizz国产精品| 国产亚洲va综合人人澡精品 | 欧美自拍偷拍一区| 国产精品护士白丝一区av| 国产一区二区免费看| 日韩一级高清毛片| 日韩激情中文字幕| 欧美日韩不卡一区二区| 一区二区三区美女视频| 色婷婷综合久久| 亚洲三级电影网站| 97se狠狠狠综合亚洲狠狠| 亚洲国产精品99久久久久久久久 | 欧美日韩精品专区| 亚洲一区二区三区美女| 91行情网站电视在线观看高清版| 日本不卡一二三区黄网| 在线91免费看| 免费观看在线综合| 日韩精品一区二区三区中文精品| 琪琪久久久久日韩精品| 日韩情涩欧美日韩视频| 亚洲大型综合色站| 欧美日韩中文字幕一区二区| 一区二区三区不卡视频| 欧美在线观看禁18| 一区二区高清在线| 色天使色偷偷av一区二区| 亚洲国产精品传媒在线观看| 国产成人超碰人人澡人人澡| 中文字幕av在线一区二区三区| 国产精品99久久久久久久vr| 国产日韩精品视频一区| 成人av电影免费观看| 一二三四社区欧美黄| 欧美精品久久天天躁| 久久国产欧美日韩精品| 欧美激情一区二区三区四区| av激情综合网| 亚洲一区在线观看免费观看电影高清| 欧美性猛片aaaaaaa做受| 日本一不卡视频| 精品91自产拍在线观看一区| 大白屁股一区二区视频| 亚洲乱码国产乱码精品精98午夜 | 91精品福利在线一区二区三区| 久久精品久久精品| 国产精品私人影院| 欧美性xxxxxxxx| 狠狠色丁香婷婷综合| 国产精品毛片久久久久久| 91精彩视频在线| 韩国av一区二区三区| 亚洲精品一卡二卡| 欧美一区二区三区视频在线 | 蜜臀va亚洲va欧美va天堂| 欧美极品美女视频| 欧美日韩国产美女| 国产九色精品成人porny| 亚洲黄色性网站| 精品国产一区二区在线观看| 91一区二区三区在线观看| 久久精品国产一区二区| 国产精品理伦片| 日韩情涩欧美日韩视频| 色综合天天狠狠| 国产一区二区久久| 亚洲综合精品久久| 久久久精品tv| 欧美日韩的一区二区| 国产suv精品一区二区883| 午夜精品久久久| 国产精品久线观看视频| 日韩欧美三级在线| 欧美午夜精品理论片a级按摩| 韩国欧美国产一区| 一区二区三区久久| 中文字幕欧美日本乱码一线二线| 欧美日韩在线三级| a美女胸又www黄视频久久| 美女精品一区二区| 亚洲国产精品久久一线不卡| 日本一区二区三区国色天香 | 欧美高清一级片在线| 99久久国产综合色|国产精品|