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

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

?? can_task.c

?? 這是以ATMEL公司的T89C51CC01和T89C51CC02設計canopen節點的資料
?? C
字號:
/*C*****************************************************************************
* FILE_NAME         : can_task.c                                             
*----------------------------------------------------------------------------
* FILE_CREATED_BY   : BERTHY JS                                             
* FILE_CREATION_DATE: 4/05/00                                              
*----------------------------------------------------------------------------
* FILE_PURPOSE:    
*
******************************************************************************/
/*_____ I N C L U D E - F I L E S ____________________________________________*/
#include "stdio.h"
#include "config.h"
#include "lcd_drv.h"

/*_____ P R I V A T E - F U N C T I O N S - D E C L A R A T I O N ____________*/
#define BRP_100k    0x05
#define SJW_100k    0x00
#define PRS_100k    0x01
#define PHS1_100k   0x03
#define PHS2_100k   0x02

#define BRP_500k	0x00
#define SJW_500k    0x00
#define PRS_500k    0x02
#define PHS1_500k   0x03
#define PHS2_500k   0x03



/*_____ L O C A L S __________________________________________________________*/

can_data_t xdata data_200 = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88};
can_data_t data_rx= {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88};
code can_msg_t can_200 = {STD_ID(0x200), CONF_NOIDE | CONF_DLC_8, data_200};

can_msg_t rx_data = {0x00, 0x00, data_rx};

Uchar task_state = 0x00;
Uchar debounce_bp = 0x00;
/*_____ P U B L I C - F U N C T I O N S ______________________________________*/
  Uchar dlc;
Uchar f_affichage =1;

Uchar line[2][17];

/*F**************************************************************************
* NAME: bin_to_ascii 
*----------------------------------------------------------------------------
* PARAMS:  
* to_convert: byte to parse in ascii
*----------------------------------------------------------------------------
* PURPOSE: This function return the ascii value
*****************************************************************************/
Uchar bin_to_ascii (Uchar to_convert)
{
  Uchar convert;

  if ((to_convert >= 0) &&
      (to_convert <= 9)   )
  {
    convert = to_convert + 0x30;
  }
  else
  {
    convert = to_convert + 0x37;
  }
  return (convert);
}

/*_____ P R I V A T E - F U N C T I O N S ____________________________________*/


/*F**************************************************************************
* FUNCTION_NAME: can_task_init                                            
*-------------------------------------------------------------------------
* FUNCTION_AUTHOR: BERTHY J.S.                                              
* FUNCTION_DATE  : 4/05/00                                                 
*----------------------------------------------------------------------------
* FUNCTION_PURPOSE:                          
* FUNCTION_INPUTS : void
* FUNCTION_OUTPUTS: void                                                                                                                 
******************************************************************************/
void can_task_init(void)
{
 
  CAN_CONTROLLER_RESET;     
  CAN_IT_DISABLE;
  CANTIM_IT_DISABLE;
  RazAllMailbox();
  CanSetBRP(BRP_500k);
  CanSetSJW(SJW_500k);
  CanSetPRS(PRS_500k);
  CanSetPHS1(PHS1_500k);
  CanSetPHS2(PHS2_500k);
  CAN_CONTROLLER_ENABLE;

  can_rx_filt.ext = 0x00;
  can_rx_msk.ext  = 0x00;
  conf_rx         = CONF_NOIDE|CONF_NOMSK_IDE|CONF_NOBUFFER;
  CAN_SET_CHANNEL(CHANNEL_0);
  CAN_CHANNEL_IT_ENABLE(CHANNEL_0);
  ConfChannel_Rx();

  CAN_IT_ENABLE;
  CAN_TX_IT_ENABLE;
  CAN_RX_IT_ENABLE
  task_state = 0x00;

  line[0][0] = 'A';
	line[0][1] = 'T';
 	line[0][2] = 'M';      
 	line[0][3] = 'E';
 	line[0][4] = 'L';      
 	line[0][5] = ' ';
  line[0][6] = 'W';      
  line[0][7] = 'i';
  line[0][8] = 'r';
	line[0][9] = 'e';
 	line[0][10] = 'l';      
 	line[0][11] = 'e';
 	line[0][12] = 's';      
 	line[0][13] = 's';      
 	line[0][14] = ' ';      
  line[0][15] = '&';
  line[1][0] = 'M';
	line[1][1] = 'i';
 	line[1][2] = 'c';      
 	line[1][3] = 'r';
 	line[1][4] = 'o';      
 	line[1][5] = 'C';
  line[1][6] = 'o';      
  line[1][7] = 'n';
  line[1][8] = 't';
	line[1][9] = 'r';
 	line[1][10] = 'o';      
 	line[1][11] = 'l';
 	line[1][12] = 'l';      
 	line[1][13] = 'e';      
 	line[1][14] = 'r';      
 	line[1][15] = 's';      

}
void display(void);
/*F**************************************************************************
* FUNCTION_NAME: can_task                                            
*-------------------------------------------------------------------------
* FUNCTION_AUTHOR: BERTHY J.S.                                              
* FUNCTION_DATE  : 4/05/00                                                 
*----------------------------------------------------------------------------
* FUNCTION_PURPOSE:                          
* FUNCTION_INPUTS : void
* FUNCTION_OUTPUTS: void                                                                                                                 
******************************************************************************/
void can_task(void)
{
  if (f_affichage == 1)
  {
    if(get_lcd_wr()==FALSE)
		{
	  	set_lcd_line(1, line[0]);
	  	f_affichage = 2;
		}
  }
  else if (f_affichage == 2)
  {
    if(get_lcd_wr()==FALSE)
		{
	  	set_lcd_line(2, line[1]);
	  	f_affichage = 0;
		}
  }

  switch (task_state)
  {
    case  0x00:
		{
      if (P3_3 == 0)
      { 
        debounce_bp++;
        if (debounce_bp == 50)
				{
		  		task_state = 1;
				}
      }
      break;
    }
    case  1:
		{
      CAN_SET_CHANNEL(CHANNEL_1);
      CAN_CHANNEL_IT_ENABLE(CHANNEL_1);
      can_tx_id     = can_200.id;
      conf_tx       = can_200.ctrl;
      pt_candata_tx = can_200.pt_donne;
      SendCanMsg();
      task_state = 2;
      break;
    }
    case  2:
	{
      debounce_bp = 0;
      break;
    }
  }
}

/****************************************************************************
* FUNCTION_NAME: can_fct_it_txok                                                
*----------------------------------------------------------------------------
* FUNCTION_AUTHOR: BERTHY J.S.                                              
* FUNCTION_DATE  :                                                  
*----------------------------------------------------------------------------
* FUNCTION_PURPOSE:                                   
* FUNCTION_INPUTS :                                                         
* FUNCTION_OUTPUTS:                                                         
******************************************************************************
* NOTE:                                                                      
******************************************************************************/
void can_fct_it_txok (void)
{
  channel_t channel;

  task_state  = 0;
  channel = CAN_GET_CHANNEL; 
  CAN_CHANNEL_IT_DISABLE(channel);  
}



void display(void)
{
  line[0][0] = bin_to_ascii((can_tx_id.tab[0] & 0xF0)>>4);
	line[0][1] = bin_to_ascii(can_tx_id.tab[0] &0x0F);
 	line[0][2] = bin_to_ascii((can_tx_id.tab[1] & 0xF0)>>4);
 	line[0][3] = bin_to_ascii(can_tx_id.tab[1] &0x0F);      
  line[0][4] = ' ';
  line[0][5] = ' ';      
  line[0][6] = ' ';
  line[0][7] = ' ';      

  line[0][8] = ' ';
  line[0][9] = ' ';    
  line[0][10] = ' ';
  line[0][11] = ' ';      
  line[0][12] = ' '; 
  line[0][13] = ' ';       
  line[0][14] = bin_to_ascii((dlc & 0xF0)>>4); 
  line[0][15] = bin_to_ascii(dlc &0x0F);       

	if (dlc > 0)
  {
		line[1][0] = bin_to_ascii((data_rx[0] & 0xF0)>>4);
  	line[1][1] = bin_to_ascii((data_rx[0] & 0x0F));
	}else
	{
		line[1][0] = ' ';
  	line[1][1] = ' ';
	}
	if (dlc > 1)
	{
	  line[1][2] = bin_to_ascii((data_rx[1] & 0xF0)>>4);
	  line[1][3] = bin_to_ascii((data_rx[1] & 0x0F));
	}else
	{
		line[1][2] = ' ';
  	line[1][3] = ' ';
	}
	if (dlc > 2)
	{
  	line[1][4] = bin_to_ascii((data_rx[2] & 0xF0)>>4);
  	line[1][5] = bin_to_ascii((data_rx[2] & 0x0F));
	}else
	{
		line[1][4] = ' ';
  	line[1][5] = ' ';
	}
	if (dlc > 3)
	{
  	line[1][6] = bin_to_ascii((data_rx[3] & 0xF0)>>4);
  	line[1][7] = bin_to_ascii((data_rx[3] & 0x0F));
	}else
	{
		line[1][6] = ' ';
  	line[1][7] = ' ';
	}
	if (dlc > 4)
	{
  	line[1][8] = bin_to_ascii((data_rx[4] & 0xF0)>>4);
  	line[1][9] = bin_to_ascii((data_rx[4] & 0x0F));
	}else
	{
		line[1][8] = ' ';
  	line[1][9] = ' ';
	}
	if (dlc>5)
	{
  	line[1][10] = bin_to_ascii((data_rx[5] & 0xF0)>>4);
  	line[1][11] = bin_to_ascii((data_rx[5] & 0x0F));
	}else
	{
		line[1][10] = ' ';
  	line[1][11] = ' ';
	}
	if (dlc>6)
	{
	  line[1][12] = bin_to_ascii((data_rx[6] & 0xF0)>>4);
	  line[1][13] = bin_to_ascii((data_rx[6] & 0x0F));
	}else
	{
		line[1][12] = ' ';
  	line[1][13] = ' ';
	}
	if (dlc>7)
	{
	  line[1][14] = bin_to_ascii((data_rx[7] & 0xF0)>>4);
	  line[1][15] = bin_to_ascii((data_rx[7] & 0x0F));
	}else
	{
		line[1][14] = ' ';
  	line[1][15] = ' ';
	}
}

/****************************************************************************
* FUNCTION_NAME: can_fct_it_rxok                                                
*----------------------------------------------------------------------------
* FUNCTION_AUTHOR: BERTHY J.S.                                              
* FUNCTION_DATE  :                                                  
*----------------------------------------------------------------------------
* FUNCTION_PURPOSE:                                   
* FUNCTION_INPUTS :                                                         
* FUNCTION_OUTPUTS:                                                         
******************************************************************************
* NOTE:                                                                      
******************************************************************************/
void can_fct_it_rxok (void)
{
  Uchar i;

  dlc = CANCONCH & MSK_CTRL_DLC;  
  for (i=0; i<dlc; i++)
  {
    data_rx[i] = CANMSG;
  }
  can_tx_id.std = (CANIDT1 << 3) | (CANIDT2 >> 5);;

  CANSTCH  = 0x00;               

  ENABLE_CHANNEL_RX; /* Reception enabled.*/

  CAN_SET_CHANNEL(CHANNEL_2);
  CAN_CHANNEL_IT_ENABLE(CHANNEL_2);
  CANCONCH = dlc;
  pt_candata_tx = data_rx;

  CANIDT1 = CAN_SET_STD_ID_10_4 (can_tx_id.std);
  CANIDT2 = CAN_SET_STD_ID_3_0  (can_tx_id.std);

  for (i=dlc; i!=0; i--)
  {
    CANMSG = *pt_candata_tx++;
  }

  ENABLE_CHANNEL_TX;
  CAN_IT_ENABLE;

  display ();
  CAN_SET_CHANNEL(CHANNEL_0);
  CANCONCH |= 0x08;
  f_affichage = 1;
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品青草久久| 国产精品女人毛片| 国产婷婷精品av在线| 亚洲女性喷水在线观看一区| 日韩高清在线观看| 成人高清在线视频| 日韩欧美中文字幕精品| 亚洲免费观看高清在线观看| 国内久久精品视频| 日本伦理一区二区| 欧美一级在线观看| 欧美日韩美少妇| 亚洲人成影院在线观看| 狠狠色丁香婷综合久久| 欧美精品欧美精品系列| 日韩精品五月天| 91麻豆swag| 欧美国产一区视频在线观看| 九九久久精品视频| 91精品在线免费观看| 亚洲愉拍自拍另类高清精品| 99久久免费视频.com| 国产精品美女久久福利网站| 国产ts人妖一区二区| wwww国产精品欧美| 久草精品在线观看| 日韩视频123| 六月丁香婷婷久久| 日韩一区二区三区视频在线| 日韩av高清在线观看| 亚洲欧美色一区| 中文字幕av在线一区二区三区| 国产成人免费视频一区| www.日韩精品| 亚洲色欲色欲www在线观看| 成人在线综合网站| 亚洲欧洲日韩综合一区二区| 高清在线观看日韩| 中文字幕在线不卡一区| 99久久久久久| 亚洲精品视频一区二区| 在线观看91视频| 亚洲h在线观看| 欧美片网站yy| 美女一区二区在线观看| 精品sm捆绑视频| 激情丁香综合五月| 欧美国产精品一区| 91在线免费播放| 视频一区中文字幕国产| 日韩亚洲欧美中文三级| 国产呦精品一区二区三区网站| 精品一二线国产| 国产一区二区在线观看免费| 国产精品久久久久影院色老大| 国产日韩欧美精品在线| 欧美中文字幕久久| 国产偷国产偷亚洲高清人白洁| 国产99久久久精品| 亚洲另类春色国产| 欧美一区二区美女| 国产成人av电影在线播放| 中文字幕日韩精品一区| 在线亚洲一区观看| 人人狠狠综合久久亚洲| 国产精品青草综合久久久久99| 在线亚洲免费视频| 久久成人av少妇免费| 国产精品久久久久久久久晋中 | 亚洲欧美日韩国产中文在线| 国内成人精品2018免费看| 精品奇米国产一区二区三区| 成人高清免费观看| 亚洲国产一区二区a毛片| 久久精品亚洲麻豆av一区二区| 一本一道久久a久久精品| 青青草97国产精品免费观看无弹窗版| 精品成人私密视频| 欧美日韩精品欧美日韩精品一| 韩国欧美一区二区| 亚洲成人av免费| 国产精品蜜臀在线观看| 91精品国产色综合久久ai换脸| 成人h动漫精品一区二区| 久久精品国产久精国产| 亚洲精品久久7777| 国产色91在线| 欧美大肚乱孕交hd孕妇| 欧美在线不卡视频| 91最新地址在线播放| 国产风韵犹存在线视精品| 美女网站在线免费欧美精品| 一区二区三区蜜桃网| 国产精品色婷婷久久58| 欧美电影免费观看高清完整版在 | 国产乱码精品1区2区3区| 国产精品1024| 欧美一级一区二区| 综合久久久久久| 日韩三级在线免费观看| 欧美午夜精品电影| www..com久久爱| 国产一区二区三区四区在线观看| 亚洲午夜视频在线观看| 亚洲区小说区图片区qvod| 久久久久国产精品麻豆ai换脸| 欧美喷水一区二区| 欧美日韩国产综合久久| 欧美在线观看视频一区二区三区 | 国产91丝袜在线播放九色| 日韩中文字幕区一区有砖一区 | 国产亚洲美州欧州综合国| 日韩欧美在线综合网| 欧美日韩免费视频| 久久99精品一区二区三区三区| 国产99精品国产| 日韩一区精品视频| 婷婷久久综合九色综合绿巨人| 亚洲日本中文字幕区| 国产精品理论片在线观看| 国产日韩一级二级三级| 国产日韩欧美精品电影三级在线| 久久久午夜电影| 欧美国产精品中文字幕| 国产精品免费网站在线观看| 国产精品你懂的| 亚洲欧美视频在线观看视频| 亚洲国产欧美日韩另类综合| 一区二区三区国产精华| 亚洲一区二区三区四区的| 亚洲午夜影视影院在线观看| 亚洲一级二级三级| 日韩电影在线免费| 国产一区二区电影| www.99精品| 欧美精品在线视频| 欧美va亚洲va香蕉在线| 久久综合色之久久综合| 国产精品欧美久久久久无广告| 国产精品久久久久久久久动漫 | 91精品免费观看| 日韩欧美色综合| 一二三四区精品视频| 精品一二三四区| 国产欧美一区二区三区在线老狼| 日韩av成人高清| 国产日韩精品一区二区浪潮av| 在线精品视频小说1| 91福利区一区二区三区| 91精品午夜视频| 国产午夜久久久久| 亚洲乱码一区二区三区在线观看| 亚洲h动漫在线| 成人性生交大片免费看在线播放 | 风间由美中文字幕在线看视频国产欧美| 日韩黄色免费电影| 在线观看成人小视频| 国产成人日日夜夜| 国产精品国产三级国产三级人妇| 一色屋精品亚洲香蕉网站| 亚洲一区二区三区精品在线| 亚洲成人高清在线| 国产99久久久国产精品潘金| 欧美日韩综合在线| 国产欧美一区二区三区鸳鸯浴| 亚洲黄色小说网站| 国产麻豆成人传媒免费观看| 欧美性做爰猛烈叫床潮| 国产清纯白嫩初高生在线观看91 | 水蜜桃久久夜色精品一区的特点| 国产一区在线观看视频| 精品视频在线免费看| 国产欧美综合色| 日本va欧美va精品发布| 色婷婷综合久色| 国产视频一区二区在线观看| 免费观看日韩av| 日韩视频一区二区在线观看| 91蜜桃婷婷狠狠久久综合9色| 91在线视频18| 欧美激情艳妇裸体舞| 美女视频一区二区三区| 色吊一区二区三区| 欧美激情中文字幕一区二区| 青青草伊人久久| 欧美精品三级在线观看| 亚洲欧美日韩一区二区| 国产不卡视频一区二区三区| 日韩一区二区三区三四区视频在线观看| 亚洲靠逼com| 成人av影院在线| 国产欧美精品区一区二区三区 | 国产精品 欧美精品| 日韩一级二级三级精品视频| 天堂一区二区在线| 欧美午夜免费电影| 亚洲永久精品国产| 色婷婷综合久久久中文一区二区| 国产精品福利在线播放| 9色porny自拍视频一区二区|