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

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

?? gpt1.c

?? 開發環境為keil166
?? C
字號:
//****************************************************************************
// @Module        General Purpose Timer Unit (GPT1)
// @Filename      GPT1.C
// @Project       can_configure.dav
//----------------------------------------------------------------------------
// @Controller    Infineon XC164CS-16F20
//
// @Compiler      Keil
//
// @Codegenerator 2.8
//
// @Description   This file contains functions that use the GPT1 module.
//
//----------------------------------------------------------------------------
// @Date          2009-4-4 17:03:46
//
//****************************************************************************

// USER CODE BEGIN (GPT1_General,1)
//CAN屏蔽碼(1與驗證碼相同 0通過) 驗證碼正確
//CAN發送數據正常
//串口通訊正常

// USER CODE END



//****************************************************************************
// @Project Includes
//****************************************************************************

#include "MAIN.H"

// USER CODE BEGIN (GPT1_General,2)

// USER CODE END


//****************************************************************************
// @Macros
//****************************************************************************

// USER CODE BEGIN (GPT1_General,3)

// USER CODE END


//****************************************************************************
// @Defines
//****************************************************************************

// USER CODE BEGIN (GPT1_General,4)

// USER CODE END


//****************************************************************************
// @Typedefs
//****************************************************************************

// USER CODE BEGIN (GPT1_General,5)

// USER CODE END


//****************************************************************************
// @Imported Global Variables
//****************************************************************************

// USER CODE BEGIN (GPT1_General,6)

// USER CODE END


//****************************************************************************
// @Global Variables
//****************************************************************************

// USER CODE BEGIN (GPT1_General,7)
char id_select=0;
unsigned char id0=0,id1=0; //110h的計數器和111h的計數器
// USER CODE END


//****************************************************************************
// @External Prototypes
//****************************************************************************

// USER CODE BEGIN (GPT1_General,8)

// USER CODE END


//****************************************************************************
// @Prototypes Of Local Functions
//****************************************************************************

// USER CODE BEGIN (GPT1_General,9)

// USER CODE END


//****************************************************************************
// @Function      void GPT1_vInit(void) 
//
//----------------------------------------------------------------------------
// @Description   This is the initialization function of the GPT1 function 
//                library. It is assumed that the SFRs used by this library 
//                are in its reset state. 
//
//----------------------------------------------------------------------------
// @Returnvalue   None
//
//----------------------------------------------------------------------------
// @Parameters    None
//
//----------------------------------------------------------------------------
// @Date          2009-4-4
//
//****************************************************************************

// USER CODE BEGIN (Init,1)

// USER CODE END

void GPT1_vInit(void)
{
  // USER CODE BEGIN (Init,2)

  // USER CODE END

  ///  -----------------------------------------------------------------------
  ///  Configuration of Timer Block Prescaler 1:
  ///  -----------------------------------------------------------------------
  ///  - prescaler for timer block 1 is 8


  ///  -----------------------------------------------------------------------
  ///  Configuration of the GPT1 Core Timer 3:
  ///  -----------------------------------------------------------------------
  ///  - timer 3 works in timer mode
  ///  - external up/down control is disabled
  ///  - prescaler factor is 32
  ///  - up/down control bit is reset
  ///  - alternate output function T3OUT (P3.3) is disabled
  ///  - timer 3 output toggle latch (T3OTL) is set to 0

  GPT12E_T3CON   =  0x0002;      // load timer 3 control register
  GPT12E_T3      =  0xB1E0;      // load timer 3 register

  ///  -----------------------------------------------------------------------
  ///  Configuration of the GPT1 Auxiliary Timer 2:
  ///  -----------------------------------------------------------------------
  ///  - timer 2 works in timer mode
  ///  - external up/down control is disabled
  ///  - prescaler factor is 32
  ///  - up/down control bit is reset

  GPT12E_T2CON   =  0x0002;      // load timer 2 control register
  GPT12E_T2      =  0xE796;      // load timer 2 register

  ///  -----------------------------------------------------------------------
  ///  Configuration of the GPT1 Auxiliary Timer 4:
  ///  -----------------------------------------------------------------------
  ///  - timer 4 works in timer mode
  ///  - external up/down control is disabled
  ///  - prescaler factor is 8
  ///  - up/down control bit is reset
  ///  - timer 4 run bit is reset

  GPT12E_T4CON   =  0x0000;      // load timer 4 control register
  GPT12E_T4      =  0x0000;      // load timer 4 register

  ///  -----------------------------------------------------------------------
  ///  Configuration of the used GPT1 Port Pins:
  ///  -----------------------------------------------------------------------


  ///  -----------------------------------------------------------------------
  ///  Configuration of the used GPT1 Interrupts:
  ///  -----------------------------------------------------------------------
  ///  timer 2 service request node configuration:
  ///  - timer 2 interrupt priority level (ILVL) = 9
  ///  - timer 2 interrupt group level (GLVL) = 1
  ///  - timer 2 group priority extension (GPX) = 0

  GPT12E_T2IC    =  0x0065;     

  ///  timer 3 service request node configuration:
  ///  - timer 3 interrupt priority level (ILVL) = 11
  ///  - timer 3 interrupt group level (GLVL) = 1
  ///  - timer 3 group priority extension (GPX) = 0

  GPT12E_T3IC    =  0x006D;     


  // USER CODE BEGIN (GPT1_Function,3)

  // USER CODE END

  GPT12E_T2CON_T2R  =  1;        // set timer 2 run bit

  GPT12E_T3CON_T3R  =  1;        // set timer 3 run bit

} //  End of function GPT1_vInit


//****************************************************************************
// @Function      void GPT1_viTmr3(void) 
//
//----------------------------------------------------------------------------
// @Description   This is the interrupt service routine for the GPT1 timer 3. 
//                It is called up in the case of over or underflow of the 
//                timer 3 register.
//                If the incremental interface mode is selected it is called 
//                up if count edge or count direction was detected.
//                
//                Please note that you have to add application specific code 
//                to this function.
//
//----------------------------------------------------------------------------
// @Returnvalue   None
//
//----------------------------------------------------------------------------
// @Parameters    None
//
//----------------------------------------------------------------------------
// @Date          2009-4-4
//
//****************************************************************************

// USER CODE BEGIN (Tmr3,1)	
 int velocity=0;	
// USER CODE END

void GPT1_viTmr3(void) interrupt T3INT
{
  // USER CODE BEGIN (Tmr3,2)
 unsigned char data0=0,data1=0,data2=0,data3=0,
         data4=0,data5=0,data6=0,data7=0;
 unsigned char check=0,velocityTemp=0;
 int velocity=0;
  // USER CODE END


  // USER CODE BEGIN (Tmr3,5)
  GPT12E_T3CON_T3R  =  0; 

  if (id_select == 0)
  	  {
	  CAN_MSGARL1    =  0x0000;      // load arbitration register low
      CAN_MSGARH1    =  0x0440;      // load arbitration register high
	  
	  data1=0xfd;
	  data2=0;
	  data3=0;
	  data4=0;
	  data5=rec_data[1];
	  data6=rec_data[2];

	  check=0x01+0x10+8+id0+data1+data2+data3+data4+data5+data6;  /* data1:雷達工作模式
																	 data2:全0
																	 data3:全0
																	 data4:全0
																	 data5:轉彎半徑(H)
																	 data6:轉彎半徑(L)
																  */ 
	  CAN_MSGDRL10  =  0xFD00+id0;
	  CAN_MSGDRH10  =  data2+(data3<<8);
	  CAN_MSGDRL14  =  data4+(data5<<8);
  	  CAN_MSGDRH14  =  data6+(check<<8);      

      id_select = 1;
	  if (id0==255)
	      id0=0;
	  else	 
		 id0++;
  	   }
  else
  	  {
	  CAN_MSGARL1    =  0x0000;      // load arbitration register low
      CAN_MSGARH1    =  0x0444;      // load arbitration register high
	  
	  velocityTemp=	(rec_data[4]>>4)*10+(rec_data[4]&0x0f);	//輸入0x15就是15km/h   
	  if (rec_data[3] == 0x01)
	      velocity=-velocityTemp*256; 
	  else
	      velocity=velocityTemp*256;

	  data1=velocity>>8;
	  data2=velocity;
	  data3=0;
	  data4=0;
	  data5=0;
	  data6=0;

	  check=0x01+0x11+8+id1+data1+data2+data3+data4+data5+data6;  /* data1:車速(H)
																	 data2:車速(L)
																	 data3:全0
																	 data4:全0
																	 data5:全0
																	 data6:全0
																  	 */
	  CAN_MSGDRL10  =  (data1<<8)+id1;
	  CAN_MSGDRH10  =  data2+(data3<<8);
	  CAN_MSGDRL14  =  data4+(data5<<8);
  	  CAN_MSGDRH14  =  data6+(check<<8);      

	  id_select = 0;
 	  if (id1==255)
	      id1=0;
	  else	 
		 id1++;
	  }			 
  
  CAN_vTransmit(1);	
  GPT12E_T3      =  0xB1E0;      // load timer 3 register
  GPT12E_T3CON_T3R  =  1; 	    

  // USER CODE END

} //  End of function GPT1_viTmr3


//****************************************************************************
// @Function      void GPT1_viTmr2(void) 
//
//----------------------------------------------------------------------------
// @Description   This is the interrupt service routine for the GPT1 timer 2. 
//                It is called up in the case of over or underflow of the 
//                timer 2 register.
//                If the incremental interface mode is selected and the 
//                interrupt for this mode is not disabled it is called up if 
//                count edge or count direction was detected.
//                
//                Please note that you have to add application specific code 
//                to this function.
//
//----------------------------------------------------------------------------
// @Returnvalue   None
//
//----------------------------------------------------------------------------
// @Parameters    None
//
//----------------------------------------------------------------------------
// @Date          2009-4-4
//
//****************************************************************************

// USER CODE BEGIN (Tmr2,1)
unsigned char ii=1;
unsigned char  count_send=0;
// USER CODE END

void GPT1_viTmr2(void) interrupt T2INT
{
  // USER CODE BEGIN (Tmr2,2)
  unsigned char j=0;
  // USER CODE END


  // USER CODE BEGIN (Tmr2,5)	  
	GPT12E_T2CON_T2R =0;
	while(!ASC0_ubTxDataReady());
	ASC0_vSendData(0xaf); 

  switch(ii)
  {
	case 1:
		   for (j=0;j<9;j++)
		       {
				while(!ASC0_ubTxDataReady());
			    ASC0_vSendData(can_data1[j]);
				}
		   ii++;
		   break;
 	case 2:
		   for (j=0;j<9;j++)
		       {
				while(!ASC0_ubTxDataReady());
			    ASC0_vSendData(can_data2[j]);
				}
		   ii++;
		   break;
 	case 3:
		   for (j=0;j<9;j++)
		       {
				while(!ASC0_ubTxDataReady());
			    ASC0_vSendData(can_data3[j]);
				}
		   ii++;								  
		   break;
 	case 4:
		   for (j=0;j<9;j++)
		       {
				while(!ASC0_ubTxDataReady());
			    ASC0_vSendData(can_data4[j]);
				}
		   ii++;
		   break;
 	case 5:
		   for (j=0;j<9;j++)
		       {
				while(!ASC0_ubTxDataReady());
			    ASC0_vSendData(can_data5[j]);
				}
		   ii++;
		   break;
 	case 6:
		   for (j=0;j<9;j++)
		       {
				while(!ASC0_ubTxDataReady());
			    ASC0_vSendData(can_data6[j]);
				}								

  
		   ii++;
		   break;
 	case 7:
		   for (j=0;j<9;j++)
		       {
				while(!ASC0_ubTxDataReady());
			    ASC0_vSendData(can_data7[j]);
				}
		   ii++;								  
		   break;
 	case 8:
		   for (j=0;j<9;j++)
		       {
				while(!ASC0_ubTxDataReady());
			    ASC0_vSendData(can_data8[j]);
				}
		   ii++;
		   break;
 	case 9:
		   for (j=0;j<9;j++)
		       {
				while(!ASC0_ubTxDataReady());
			    ASC0_vSendData(can_data9[j]);
				}
		   ii++;
		   break;
 	case 10:
		   for (j=0;j<9;j++)								

 
		       {
				while(!ASC0_ubTxDataReady());
			    ASC0_vSendData(can_data10[j]);
				}
		   ii++;
		   break;
 	case 11:
		   for (j=0;j<9;j++)
		       {
				while(!ASC0_ubTxDataReady());
			    ASC0_vSendData(can_data11[j]);			   
				}
		   ii++;
		   break;
 	case 12:
		   for (j=0;j<9;j++)
		       {
				while(!ASC0_ubTxDataReady());
			    ASC0_vSendData(can_data12[j]);
				}
		   ii++;
		   break;
 	case 13:										

	
		  /* for (j=0;j<10;j++)
		       {
				while(!ASC0_ubTxDataReady());
			    ASC0_vSendData(can_data13[j]);
				}  */
		   ii++;
		   break;
	default: break;
  }									 
	//while(!ASC0_ubTxDataReady());
	//ASC0_vSendData(0xbf); 
//	count_send++;
	if ( ii == 13 ) ii=1;

  GPT12E_T2      =  0xE796;
  GPT12E_T2CON_T2R = 1;		 
  // USER CODE END

} //  End of function GPT1_viTmr2




// USER CODE BEGIN (GPT1_General,10)

// USER CODE END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久成人免费电影| 国产91精品一区二区| 国产在线不卡一区| 欧洲一区在线电影| 久久欧美一区二区| 日日夜夜免费精品视频| 激情图片小说一区| 日韩一卡二卡三卡四卡| 一区二区成人在线| 91亚洲精品久久久蜜桃| 精品国产伦一区二区三区免费| 亚洲青青青在线视频| 久久福利视频一区二区| 欧美色精品在线视频| 欧美激情一区二区三区四区| 欧美aa在线视频| 欧美日韩免费视频| 一区二区三区在线视频免费| 国产91精品久久久久久久网曝门| 91精品国产综合久久精品图片| 一区二区三区四区不卡视频| a亚洲天堂av| 亚洲欧美在线视频观看| 国产精一区二区三区| 国产日韩欧美不卡| 另类人妖一区二区av| 欧美一区二区三区在线电影| 亚洲丶国产丶欧美一区二区三区| 99国产一区二区三精品乱码| 中文在线一区二区| 懂色av一区二区在线播放| 久久无码av三级| 国产一区二区福利| 国产日韩在线不卡| 成人免费黄色大片| 中文字幕综合网| 94-欧美-setu| 亚洲一区二区综合| 欧美在线观看视频一区二区 | av电影天堂一区二区在线| 国产欧美一区二区精品秋霞影院| 国产精品一二三在| 1000部国产精品成人观看| 91亚洲国产成人精品一区二三 | 日韩美女视频一区二区在线观看| 香蕉加勒比综合久久| 欧美一区在线视频| 国产激情偷乱视频一区二区三区| 久久久久免费观看| 99re这里只有精品6| 亚洲综合丝袜美腿| 日韩一级在线观看| 国产精品2024| 亚洲精品国产无天堂网2021| 欧美日韩成人综合天天影院| 午夜视频一区在线观看| 日韩一区二区在线观看视频播放| 国产主播一区二区| 成人免费一区二区三区视频| 欧美色视频在线| 成人毛片在线观看| 亚洲综合成人在线视频| 日韩午夜在线影院| eeuss国产一区二区三区| 午夜精品视频一区| 精品国产制服丝袜高跟| 99热在这里有精品免费| 亚洲第一会所有码转帖| 精品国产免费久久| 在线观看视频欧美| 国产一区二区三区久久悠悠色av| 综合久久一区二区三区| 欧美岛国在线观看| 欧美亚男人的天堂| 成人午夜精品在线| 日本成人中文字幕在线视频| 国产精品电影一区二区三区| 欧美精品电影在线播放| 成人18精品视频| 精品在线你懂的| 亚洲一区在线视频| 国产精品婷婷午夜在线观看| 欧美绝品在线观看成人午夜影视| 国产91丝袜在线观看| 婷婷综合五月天| 亚洲免费观看高清完整| 久久久久久日产精品| 欧美日韩亚洲不卡| 99久久99久久精品免费看蜜桃 | 日韩欧美国产精品一区| 日本乱人伦aⅴ精品| 国产福利一区二区三区视频在线| 婷婷综合在线观看| 一区二区三区四区蜜桃 | 337p粉嫩大胆噜噜噜噜噜91av| 91福利精品视频| 成人av资源在线观看| 久久99久久久欧美国产| 亚洲成a人v欧美综合天堂| **欧美大码日韩| 国产精品高清亚洲| 国产精品色噜噜| 中文字幕av一区 二区| 久久精品欧美日韩| 久久青草欧美一区二区三区| 日韩欧美区一区二| 日韩一区二区在线看| 日韩一级欧美一级| 欧美一区二区在线看| 欧美色区777第一页| 欧美色倩网站大全免费| 欧美三级电影在线看| 在线看国产日韩| 欧美日韩一区二区三区视频| 欧美做爰猛烈大尺度电影无法无天| va亚洲va日韩不卡在线观看| www.亚洲在线| 色偷偷成人一区二区三区91| 91农村精品一区二区在线| 99久久精品免费看| 91久久精品一区二区三区| 欧美主播一区二区三区美女| 色域天天综合网| 欧美性一二三区| 91精品国产91热久久久做人人| 3d动漫精品啪啪| 久久久www成人免费毛片麻豆 | 欧美色倩网站大全免费| 欧美精品久久99久久在免费线 | 91视频观看视频| 色婷婷国产精品| 欧美色图激情小说| 精品久久久久99| 国产精品伦一区二区三级视频| 国产精品动漫网站| 亚洲1区2区3区4区| 国产在线一区二区| 99国产精品国产精品久久| 欧美亚洲一区三区| 精品久久一区二区| 亚洲欧美一区二区三区孕妇| 性做久久久久久免费观看| 日本欧美久久久久免费播放网| 久久99久久久久| 成人免费福利片| 欧美少妇xxx| 欧美岛国在线观看| 综合色天天鬼久久鬼色| 蜜臀久久99精品久久久久宅男| 国产精一区二区三区| 在线亚洲一区二区| 精品久久国产97色综合| 亚洲狠狠丁香婷婷综合久久久| 男女男精品视频网| 91影院在线观看| 欧美一区二区福利视频| 国产精品护士白丝一区av| 三级精品在线观看| 99久久免费国产| 精品国产a毛片| 亚洲午夜日本在线观看| 国产成人午夜精品影院观看视频 | 夜夜嗨av一区二区三区网页| 麻豆精品在线视频| 欧美在线观看视频在线| 国产日本欧洲亚洲| 久草这里只有精品视频| 在线观看亚洲精品视频| 欧美激情一区二区在线| 日本大胆欧美人术艺术动态| 99re成人在线| 国产丝袜美腿一区二区三区| 五月天婷婷综合| 色综合久久99| 国产精品高清亚洲| 国产成人av资源| 久久久综合精品| 日本va欧美va瓶| 欧美丝袜丝nylons| 一区二区三区精品| 99久久免费国产| 欧美国产欧美综合| 国产一区二区三区四区在线观看| 欧美日本国产一区| 樱桃视频在线观看一区| 99精品1区2区| 亚洲免费在线看| 99久久久免费精品国产一区二区| 国产区在线观看成人精品| 久久精品国产精品亚洲精品| 欧美日韩国产三级| 午夜影视日本亚洲欧洲精品| 在线观看一区不卡| 亚洲一区二区免费视频| 欧美体内she精视频| 亚洲午夜久久久久久久久电影网 | 成人黄色一级视频| 国产精品色哟哟网站| 成人avav影音| 亚洲色图20p|