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

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

?? can-demo-1.c

?? AVR Studio下開發(fā)的CAN-232串口通信代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*C**************************************************************************
* CAN-Demo-1.c 
*----------------------------------------------------------------------------
* Copyright (c) 2002 Atmel.
*----------------------------------------------------------------------------
*----------------------------------------------------------------------------
* PURPOSE: Test bit timing/transmit/receive/IT routines of CAN.lib
*          All interrupts "on"
*     - 1st Part: Sending the following messages
*       MOb   ID        IDE   Conf  DLC   Data
*       0     00        0     Tx    8     00 10 20 30 40 50 60 70                                                                                             
*       1     1DE0001x  1     Tx    4     10 11 12 13                                                                                             
*       2     02        0     Tx    8     20 21 22 23 24 25 26 27                                                                                             
*       3     1DE0003x  1     Tx    4     30 31 32 33                                                                                             
*       4     04        0     Tx    8     40 41 42 43 44 45 46 47                                                                                             
*       5     1DE0005x  1     Tx    4     50 51 52 53                                                                                             
*       6     06        0     Tx    8     60 61 62 63 64 65 66 67                                                                                             
*       7     1DE0007x  1     Tx    4     70 71 72 73                                                                                             
*       8     08        0     Tx    8     80 81 82 83 84 85 86 87                                                                                             
*       9     1DE0009x  1     Tx    4     90 91 92 93                                                                                             
*       10    0A        0     Tx    8     0A 1A 2A 3A 4A 5A 6A 7A                                                                                             
*       11    1DE000Bx  1     Tx    4     B0 B1 B2 B3                                                                                             
*       12    0C        0     Tx    8     C0 C1 C2 C3 C4 C5 C6 C7                                                                                             
*       13    1DE000Dx  1     Tx    4     D0 D1 D2 D3
*       14    0E        1     Tx    8     E0 E1 E2 E3 E4 E5 E6 E7
*
*     - 2nd Part: Pseudo echo on MOb14 of incomming messages MOb0
*       * if Rx message 0-data or remote => TX =ID with REG 1 upto 8
*       * if Rx message 1-data => TX=ID with the data then REG 2 upto 8
*       * if Rx message 2-data => TX=ID with the 2 data then REG 3 upto 8
*       * ...................................................
*       * if Rx message 8-data => TX=ID with the 8 data 
*         REG:  1-CANGCON
*               2-CANGSTA
*               3-CANGIT
*               4-CANGIE
*               5-CANEN2
*               6-CANEN1
*               7-CANSTMPH
*               8-CANSTMPL
*         Eemple:
*             123       0     Rx    0                                                                                             
*             123       0     Tx    8     02 14 00 FF FF 7F 00 00                                                                                             
*             1111000x  1     Rx    8     80 81 82 83 84 85 86 87                                                                                             
*             1111000x  1     Tx    8     80 81 82 83 84 85 86 87
*
*             ...                                                                                             
*     - 3rd Part: Avaibility to monitor the following events in
*                 watch window (AVRStudio):
*               1- can_OVRT_count - number of CAN timer Overrun
*               1- can_DLCW_count - number of DLC warning
*               1- can_Tx_count - number of transmited message
*               1- can_Rx_count - number of received message 
*               1- can_Bx_count - number of received buffer message 
*               1- can_ErrMOb_count - number of MOb error
*               1- can_ErrGen_count - number of general error
*               1- can_BusOff_count - number of bus off error
*
*
* ICE50 Setting:  Clock = 8MHz, Internal XTAL Oscillator
*   CPU Setting:  Clock = 8MHz, CAN Baudrate = 1Mbit/s down to 100Kbit/s
*****************************************************************************/

/*__________________________________________________________________________*/
/*_____ I N C L U D E S ____________________________________________________*/
/*__________________________________________________________________________*/

#include "config.h"
#include "can_lib.h"
#include "uartnoint_lib.h"

/*__________________________________________________________________________*/
/*_____ C O N S T A N T E S - D E F I N I T I O N  _________________________*/
/*__________________________________________________________________________*/

/* BitRate=0 */
#define BRP_1M    0x00
#define SJW_1M    0x00
#define PRS_1M    0x02
#define PHS2_1M   0x01
#define PHS1_1M   0x01

/* BitRate=1 */
//#define BRP_500K    0x00
//#define SJW_500K    0x00
//#define PRS_500K    0x06
//#define PHS2_500K   0x03
//#define PHS1_500K   0x03
#define BRP_500K    0x01
#define SJW_500K    0x00
#define PRS_500K    0x02
#define PHS2_500K   0x01
#define PHS1_500K   0x01

/* BitRate=2 */
#define BRP_250K    0x03
#define SJW_250K    0x00
#define PRS_250K    0x02
#define PHS2_250K   0x01
#define PHS1_250K   0x01

/*__________________________________________________________________________*/
/*_____ D E C L A R E ______________________________________________________*/
/*__________________________________________________________________________*/

  Uint16  can_OVRT_count;
  Uint16  can_DLCW_count;
  Uint16  can_Tx_count;
  Uint16  can_Rx_count;
  Uint16  can_Bx_count;
  Uint16  can_ErrMOb_count;
    Uint16  can_ACK_ErrMOb_count;
    Uint16  can_For_ErrMOb_count;
    Uint16  can_CRC_ErrMOb_count;
    Uint16  can_Stu_ErrMOb_count;
    Uint16  can_Bit_ErrMOb_count;
  Uint16  can_ErrGen_count;
    Uint16  can_ACK_ErrGen_count;
    Uint16  can_For_ErrGen_count;
    Uint16  can_CRC_ErrGen_count;
    Uint16  can_Stu_ErrGen_count;
  Uint16  can_BusOff_count;
  
  Uchar  Tx_message_flag; /* Equ TxOK */
  Uchar  MOb_Tx_message;  /* MOb number with TxOK */
  Uchar  Rx_message_flag; /* Equ RxOK */
  Uchar  MOb_Rx_message;  /* MOb number with RxOK */
  Uchar  Ovr_Timer_flag;

  Uchar BitRate_1M [5]   = {BRP_1M,   SJW_1M,   PRS_1M,   PHS2_1M,   PHS1_1M  };
  Uchar BitRate_500K [5] = {BRP_500K, SJW_500K, PRS_500K, PHS2_500K, PHS1_500K};
  Uchar BitRate_250K [5] = {BRP_250K, SJW_250K, PRS_250K, PHS2_250K, PHS1_250K};

  Uchar BitRate=2; /* BitRate = 250 Kbit/s */
//  Uchar BitRate=1; /* BitRate = 500 Kbit/s */
//  Uchar BitRate=0; /* BitRate = 1   Mbit/s */
  
/*__________________________________________________________________________*/
/*_____ F U N C T I O N S __________________________________________________*/
/*__________________________________________________________________________*/

void delay (void)
 {
  Uint16 countx;
  countx = 0xFFFF;
  while (countx != FALSE) countx--;
 }

/*__________________________________________________________________________*/
/*_____ F U N C T I O N S   C A L L E D   W H E N   I N T E R R U P T S ____*/
/*__________________________________________________________________________*/

extern void can_fct_it (void);

/* _____ CANOVRT interrupt ____________________ */

void can_fct_it_timovf (void)
  {  can_OVRT_count++;
     PORTA=(Uchar)(can_OVRT_count);
     Ovr_Timer_flag = TRUE;  }

/* _____ CANIT  interrupt _____________________ */

void can_fct_it_rxok (void)
  {  can_fct_it();  }
  
void can_fct_it_txok (void)
  {  can_fct_it();  }
  
void can_fct_it_error(void)
  {  can_fct_it();  }
  
void can_fct_it_gen (void)
  {  can_fct_it();  }
  
/* _____ CANIT  interrupt (main) ______________ */

void can_fct_it (void)

  {
  Uchar MOb, Err;

  /* Save current page done in IT_Handler*/ 

  /* __ MOB Interrupts __ */

  if ((MOb=FindFirstChIt()) != NO_CHANNEL)
    {
    CAN_SET_CHANNEL(MOb);
    if ((CANSTMOB & (1 << DLCW)) != FALSE) can_DLCW_count++;
    if ((CANSTMOB & (1 << TXOK)) != FALSE)
      { can_Tx_count++;
        Tx_message_flag = TRUE;
        MOb_Tx_message=MOb;
        DISABLE_CHANNEL;
      }
    if ((CANSTMOB & (1 << RXOK)) != FALSE)
      { can_Rx_count++;
        Rx_message_flag = TRUE;
        MOb_Rx_message=MOb;
        DISABLE_CHANNEL;
      }
    Err = CANSTMOB & ERR_MOB_msk;
    if (Err != FALSE)
      {
      can_ErrMOb_count++;
      CPrintfUART_0("\r\n  CAN Error MOb  ");
      if ((Err & 0x01) != FALSE) can_ACK_ErrMOb_count++;
      if ((Err & 0x02) != FALSE) can_For_ErrMOb_count++;
      if ((Err & 0x04) != FALSE) can_CRC_ErrMOb_count++;
      if ((Err & 0x08) != FALSE) can_Stu_ErrMOb_count++;
      if ((Err & 0x10) != FALSE) can_Bit_ErrMOb_count++;
      }
    /* Reset all MOb Int & Keep WDLC done in IT_Handler */
    }

/* __ General Interrupts - Reset Int_flag setting it "1" __ */
    
    Err = CANGIT & ERR_GEN_msk;
    if (Err != FALSE)
      {
      can_ErrGen_count++;
      CPrintfUART_0("\r\n  CAN Error General  ");
      if ((Err & 0x01) != FALSE) can_ACK_ErrGen_count++;
      if ((Err & 0x02) != FALSE) can_For_ErrGen_count++;
      if ((Err & 0x04) != FALSE) can_CRC_ErrGen_count++;
      if ((Err & 0x08) != FALSE) can_Stu_ErrGen_count++;
      /* Reset Int_ERR_GEN done (global) in IT_Handler */
      }
    if ((CANGIT & (1 << OVRBUF)) != FALSE)
      {
      can_Bx_count++;
      /* Reset Int_Buffer_OK done (global) in IT_Handler */
      }
    if ((CANGIT & (1 << BOFFIT)) != FALSE)
      {
      can_BusOff_count++;
      CPrintfUART_0("\r\n  CAN Error Bus Off  ");
      /* Reset Int_Bus_Off done in (global) IT_Handler */
      }

  /* Restore previous page done in IT_Handler */ 
}

/*__________________________________________________________________________*/
/*_____ M A I N ____________________________________________________________*/
/*__________________________________________________________________________*/

can_msg_t can_tx_MOb0, can_tx_MOb1, can_tx_MOb2, can_tx_MOb3, can_tx_MOb4;
can_msg_t can_tx_MOb5, can_tx_MOb6, can_tx_MOb7, can_tx_MOb8, can_tx_MOb9;
can_msg_t can_tx_MObA, can_tx_MObB, can_tx_MObC, can_tx_MObD, can_tx_MObE;
can_msg_t can_rxtxMOb;

can_data_t can_data0, can_data1, can_data2, can_data3, can_data4, can_data5;
can_data_t can_data6, can_data7, can_data8, can_data9, can_dataA, can_dataB;
can_data_t can_dataC, can_dataD, can_dataE;
can_data_t can_dataX;

void main(void)
{
  Uchar  i, j, UART_Temp, ID_Temp, ID_First;

  Uint16 standart_ID;
  Uint32 extended_ID;
  
  UART_Temp = 0x30;
  
  can_OVRT_count=CLR;
  can_DLCW_count=CLR;
  can_Tx_count=CLR;
  can_Rx_count=CLR;
  can_Bx_count=CLR;
  can_ErrMOb_count=CLR;
    can_ACK_ErrMOb_count=CLR;
    can_For_ErrMOb_count=CLR;
    can_CRC_ErrMOb_count=CLR;
    can_Stu_ErrMOb_count=CLR;
    can_Bit_ErrMOb_count=CLR;
  can_ErrGen_count=CLR;
    can_ACK_ErrGen_count=CLR;
    can_For_ErrGen_count=CLR;
    can_CRC_ErrGen_count=CLR;
    can_Stu_ErrGen_count=CLR;
  can_BusOff_count=CLR;
  
  MOb_Tx_message = CLR;
  MOb_Rx_message = CLR;

  Tx_message_flag = CLR; /* Message on MOb_for_Tx */
  Rx_message_flag = CLR; /* Message on MOb_for_Rx */
  Ovr_Timer_flag = CLR;
  
  j =0x00; for (i=0; i<8; i++) can_data0[i]= (j+i); 
  j+=0x10; for (i=0; i<8; i++) can_data1[i]= (j+i);
  j+=0x10; for (i=0; i<8; i++) can_data2[i]= (j+i);
  j+=0x10; for (i=0; i<8; i++) can_data3[i]= (j+i);
  j+=0x10; for (i=0; i<8; i++) can_data4[i]= (j+i);
  j+=0x10; for (i=0; i<8; i++) can_data5[i]= (j+i);
  j+=0x10; for (i=0; i<8; i++) can_data6[i]= (j+i);
  j+=0x10; for (i=0; i<8; i++) can_data7[i]= (j+i);
  j+=0x10; for (i=0; i<8; i++) can_data8[i]= (j+i);
  j+=0x10; for (i=0; i<8; i++) can_data9[i]= (j+i);
  j+=0x10; for (i=0; i<8; i++) can_dataA[i]= (j+i);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲chinese男男1069| 久久精品理论片| 香蕉成人啪国产精品视频综合网| 麻豆91精品视频| 99久久精品国产一区| 555www色欧美视频| 亚洲国产电影在线观看| 日韩不卡免费视频| 色综合天天综合| 国产亚洲一本大道中文在线| 亚洲制服丝袜一区| 91在线小视频| 久久精品欧美一区二区三区不卡 | 成人久久视频在线观看| 欧美日韩在线播| 国产精品国产三级国产a| 国产在线精品国自产拍免费| 欧美日韩国产色站一区二区三区| 中文字幕一区二区三区蜜月| 裸体健美xxxx欧美裸体表演| 欧美在线免费视屏| 最新高清无码专区| 丁香婷婷综合激情五月色| 精品人伦一区二区色婷婷| 五月婷婷久久丁香| 欧美丝袜丝交足nylons| 中文字幕亚洲欧美在线不卡| 丁香亚洲综合激情啪啪综合| 欧美精品一区二区久久婷婷| 青青草一区二区三区| 欧美酷刑日本凌虐凌虐| 亚洲成人午夜电影| 欧美性高清videossexo| 一区二区三区波多野结衣在线观看| 国产成人av影院| 国产视频不卡一区| 成人综合在线观看| 中文字幕高清不卡| 波多野结衣中文字幕一区| 久久亚洲综合色一区二区三区| 伦理电影国产精品| 精品国产一区久久| 国产一区激情在线| 久久综合色综合88| 激情另类小说区图片区视频区| 日韩午夜激情av| 久久国产福利国产秒拍| 久久免费电影网| 国产成人精品亚洲777人妖 | 美国十次了思思久久精品导航| 欧美精品三级日韩久久| 秋霞国产午夜精品免费视频| 91精品一区二区三区在线观看| 日本va欧美va瓶| 久久综合网色—综合色88| 成人一区二区三区中文字幕| 亚洲美女区一区| 欧美男生操女生| 韩国在线一区二区| 国产精品国产三级国产普通话99| 91搞黄在线观看| 秋霞影院一区二区| 日本一区二区三区dvd视频在线| 不卡一卡二卡三乱码免费网站| 一区二区三区四区中文字幕| 在线播放91灌醉迷j高跟美女| 久久精品99国产精品| 国产精品免费aⅴ片在线观看| 色天天综合色天天久久| 日本亚洲电影天堂| 国产精品午夜在线| 欧美日韩免费在线视频| 激情久久久久久久久久久久久久久久| 欧美国产日本视频| 欧美综合天天夜夜久久| 久久99精品久久久久久久久久久久| 亚洲国产岛国毛片在线| 在线播放/欧美激情| 粉嫩嫩av羞羞动漫久久久| 亚洲成av人片在线观看无码| 久久久无码精品亚洲日韩按摩| 日本高清不卡在线观看| 老汉av免费一区二区三区| 中文字幕一区免费在线观看| 日韩天堂在线观看| 欧美在线视频全部完| 国产乱一区二区| 午夜精品久久久久久久99水蜜桃| 久久综合给合久久狠狠狠97色69| 91福利在线看| 成人午夜电影网站| 麻豆精品一区二区| 亚洲国产中文字幕在线视频综合| 久久精品日韩一区二区三区| 欧美精品xxxxbbbb| 91久久一区二区| av在线综合网| 国产精品影视在线| 奇米影视7777精品一区二区| 亚洲黄色小说网站| 国产精品久久三区| 久久久五月婷婷| 精品国免费一区二区三区| 欧美性受xxxx| 91福利视频久久久久| 成人午夜视频免费看| 国产在线看一区| 男人的天堂久久精品| 亚洲电影欧美电影有声小说| 国产精品嫩草影院com| 久久精品视频免费| 久久亚洲综合色一区二区三区| 欧美成人video| 日韩视频一区二区三区在线播放| 精品视频免费在线| 欧美日韩一区精品| 欧美日韩中文另类| 欧美区一区二区三区| 欧美日韩亚洲综合一区| 欧美日韩午夜在线视频| 欧美网站一区二区| 欧美三级电影精品| 欧美日韩你懂的| 91.com视频| 日韩午夜激情电影| 欧美精品一区二区三区蜜桃| 精品欧美乱码久久久久久| wwwwxxxxx欧美| 国产日产欧美精品一区二区三区| 久久天堂av综合合色蜜桃网| 久久久综合九色合综国产精品| 久久婷婷国产综合国色天香| 国产日韩欧美一区二区三区乱码 | 国产一区二区成人久久免费影院| 黄色日韩网站视频| 国产suv精品一区二区三区| 成人app网站| 在线欧美日韩精品| 91精品国产综合久久福利软件 | 岛国一区二区在线观看| 97精品久久久午夜一区二区三区| 91小视频在线观看| 欧美三级三级三级爽爽爽| 日韩欧美你懂的| 国产日韩在线不卡| 亚洲精品乱码久久久久久久久| 午夜精品123| 国产一区二区三区香蕉| 99re视频精品| 91精品国产麻豆| 国产视频一区二区在线观看| 亚洲视频免费看| 蜜臀久久99精品久久久久久9| 国产米奇在线777精品观看| 91亚洲大成网污www| 欧美一卡二卡在线| 国产精品欧美久久久久无广告| 亚洲尤物视频在线| 国产精品综合av一区二区国产馆| 成人激情免费网站| 宅男在线国产精品| 国产精品福利一区二区| 日韩国产欧美视频| 成人免费看黄yyy456| 91精品久久久久久蜜臀| 国产欧美日韩一区二区三区在线观看 | 亚洲精品高清视频在线观看| 日韩国产高清影视| 99精品热视频| 精品粉嫩超白一线天av| 亚洲自拍另类综合| 不卡的av在线播放| 日韩欧美亚洲另类制服综合在线| 中文字幕精品在线不卡| 日本特黄久久久高潮| 91成人在线观看喷潮| 久久久久综合网| 图片区小说区国产精品视频| av电影在线观看不卡| xfplay精品久久| 日韩主播视频在线| 色综合激情五月| 中文字幕av资源一区| 久久99精品久久只有精品| 欧美日韩在线不卡| 亚洲综合在线视频| 91小视频在线| 国产精品久久久久永久免费观看| 美女视频一区二区三区| 欧美日韩国产美| 亚洲综合激情网| 91网站最新网址| 国产精品黄色在线观看| 国产传媒日韩欧美成人| 欧美精品一区二区三区久久久| 日韩精品一二区| 在线播放亚洲一区| 日韩av高清在线观看| 欧美另类z0zxhd电影| 亚洲亚洲精品在线观看|