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

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

?? can2.c

?? 新華龍C8051F04X系列單片機(jī)開發(fā)板的測試程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
//------------------------------------------------------------------------------
// CAN2.c
//------------------------------------------------------------------------------
//
//
// DEVICE: C8051F040
//
// AUTHOR: LS
//
// TOOLS:  Keil C-compiler and Silicon Labs IDE
//
//
// CAN1.c and CAN2.c are a simple example of configuring a CAN network to
// transmit and receive data on a CAN network, and how to move information to
// and from CAN RAM message objects.  Each C8051F040-TB CAN node is configured
// to send a message when it's P3.7 button is depressed/released, with a 0x11
// to indicate the button is pushed, and 0x00 when released. Each node also has
// a message object configured to receive messages. The C8051 tests the
// received data and will turn on/off the target board's LED. When one target
// is loaded with CAN2.c and the other is loaded with CAN1.c, one target
// board's push-button will control the other target board's LED, establishing
// a simple control link via the CAN bus and can be observed directly on the
// target boards.
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
// Includes
////////////////////////////////////////////////////////////////////////////////

#include <c8051f040.h>                          // SFR declarations

// CAN Protocol Register Index for CAN0ADR, from TABLE 18.1 of the C8051F040
// datasheet
////////////////////////////////////////////////////////////////////////////////
#define CANCTRL            0x00                 //Control Register
#define CANSTAT            0x01                 //Status register
#define ERRCNT             0x02                 //Error Counter Register
#define BITREG             0x03                 //Bit Timing Register
#define INTREG             0x04                 //Interrupt Low Byte Register
#define CANTSTR            0x05                 //Test register
#define BRPEXT             0x06                 //BRP Extension         Register
////////////////////////////////////////////////////////////////////////////////
//IF1 Interface Registers
////////////////////////////////////////////////////////////////////////////////
#define IF1CMDRQST         0x08                 //IF1 Command Rest      Register
#define IF1CMDMSK          0x09                 //IF1 Command Mask      Register
#define IF1MSK1            0x0A                 //IF1 Mask1             Register
#define IF1MSK2            0x0B                 //IF1 Mask2             Register
#define IF1ARB1            0x0C                 //IF1 Arbitration 1     Register
#define IF1ARB2            0x0D                 //IF1 Arbitration 2     Register
#define IF1MSGC            0x0E                 //IF1 Message Control   Register
#define IF1DATA1           0x0F                 //IF1 Data A1           Register
#define IF1DATA2           0x10                 //IF1 Data A2           Register
#define IF1DATB1           0x11                 //IF1 Data B1           Register
#define IF1DATB2           0x12                 //IF1 Data B2           Register
////////////////////////////////////////////////////////////////////////////////
//IF2 Interface Registers
////////////////////////////////////////////////////////////////////////////////
#define IF2CMDRQST         0x20                 //IF2 Command Rest      Register
#define IF2CMDMSK          0x21                 //IF2 Command Mask      Register
#define IF2MSK1            0x22                 //IF2 Mask1             Register
#define IF2MSK2            0x23                 //IF2 Mask2             Register
#define IF2ARB1            0x24                 //IF2 Arbitration 1     Register
#define IF2ARB2            0x25                 //IF2 Arbitration 2     Register
#define IF2MSGC            0x26                 //IF2 Message Control   Register
#define IF2DATA1           0x27                 //IF2 Data A1           Register
#define IF2DATA2           0x28                 //IF2 Data A2           Register
#define IF2DATB1           0x29                 //IF2 Data B1           Register
#define IF2DATB2           0x2A                 //IF2 Data B2           Register
////////////////////////////////////////////////////////////////////////////////
//Message Handler Registers
////////////////////////////////////////////////////////////////////////////////
#define TRANSREQ1          0x40                 //Transmission Rest1 Register
#define TRANSREQ2          0x41                 //Transmission Rest2 Register

#define NEWDAT1            0x48                 //New Data 1            Register
#define NEWDAT2            0x49                 //New Data 2            Register

#define INTPEND1           0x50                 //Interrupt Pending 1   Register
#define INTPEND2           0x51                 //Interrupt Pending 2   Register

#define MSGVAL1            0x58                 //Message Valid 1       Register
#define MSGVAL2            0x59                 //Message Valid 2       Register

////////////////////////////////////////////////////////////////////////////////
//Global Variables
////////////////////////////////////////////////////////////////////////////////
char MsgNum;
char status;
int i;
int MOTwoIndex = 0;
int MOOneIndex = 0;
int StatusCopy;
int RXbuffer [4];
int TXbuffer [8];
int MsgIntNum;
int Temperature;
sbit BUTTON = P3^7;
sbit LED = P1^6;
sfr16 CAN0DAT = 0xD8;



////////////////////////////////////////////////////////////////////////////////
// Function PROTOTYPES
////////////////////////////////////////////////////////////////////////////////

// Initialize Message Object
void clear_msg_objects (void);
void init_msg_object_TX (char MsgNum);
void init_msg_object_RX (char MsgNum);
void start_CAN (void);
void transmit_turn_LED_ON (char MsgNum);
void transmit_turn_LED_OFF (char MsgNum);
void receive_data (char MsgNum);
void external_osc (void);
void config_IO (void);
void flash_LED (void);
void test_reg_write (char test);
void stop_CAN (void);


////////////////////////////////////////////////////////////////////////////////
// MAIN Routine
////////////////////////////////////////////////////////////////////////////////
void main (void) {

  // disable watchdog timer
  WDTCN = 0xde;
  WDTCN = 0xad;

  //configure Port I/O
  config_IO();

  // switch to external oscillator
  external_osc();


////////////////////////////////////////////////////////////////////////////////
// Configure CAN communications
//
// IF1 used for procedures calles by main program
// IF2 used for interrupt service procedure receive_data
//
// Message Object assignments:
//  0x02: Used to transmit commands to toggle its LED, arbitration number 1
//
////////////////////////////////////////////////////////////////////////////////

  // Clear CAN RAM
  clear_msg_objects();

  // Initialize message object to transmit data
  init_msg_object_TX (0x02);

  // Initialize message object to receive data
  init_msg_object_RX (0x01);

  // Enable CAN interrupts in CIP-51
  EIE2 = 0x20;

  //Function call to start CAN
  start_CAN();

  //Global enable 8051 interrupts
  EA = 1;

  //Loop and wait for interrupts
  while (1)
    {
      if (BUTTON == 0){
        while (BUTTON == 0){}
        transmit_turn_LED_OFF(0x02);}
      else {
        while (BUTTON == 1){}
        transmit_turn_LED_ON(0x02);}
    }
}


////////////////////////////////////////////////////////////////////////////////
// Set up C8051F040
////////////////////////////////////////////////////////////////////////////////

// Switch to external oscillator
void external_osc (void)
{
  int n;                        // local variable used in delay FOR loop.
  SFRPAGE = CONFIG_PAGE;        // switch to config page to config oscillator
  OSCXCN  = 0x77;               // start external oscillator; 22.1 MHz Crystal

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡在线观看av| 欧美变态口味重另类| 欧美三级视频在线观看| 日韩欧美精品三级| 亚洲婷婷综合色高清在线| 日本欧美一区二区三区乱码 | av男人天堂一区| 日韩欧美中文字幕制服| 亚洲精品久久久蜜桃| 国产在线观看一区二区| 欧美日韩国产经典色站一区二区三区| 国产欧美精品一区二区三区四区| 日韩高清一区二区| 在线精品视频一区二区| 国产精品天美传媒| 国产在线播放一区二区三区| 91精品视频网| 亚洲成人av一区| 欧美午夜精品一区二区三区 | 成人免费一区二区三区视频| 国精品**一区二区三区在线蜜桃| 欧美日本一区二区三区四区| 亚洲视频香蕉人妖| 成人免费福利片| 国产欧美一区二区精品性色 | 亚洲国产裸拍裸体视频在线观看乱了| 丰满白嫩尤物一区二区| 精品国产乱码久久久久久夜甘婷婷| 亚洲成av人片一区二区梦乃| 日本精品一区二区三区高清| 亚洲码国产岛国毛片在线| 成人午夜短视频| 国产精品日产欧美久久久久| 国产不卡视频一区| 国产欧美日韩在线观看| 国产精品综合在线视频| 久久综合久久综合久久| 国产一区在线不卡| 2023国产精品| 国产jizzjizz一区二区| 国产欧美日本一区二区三区| 国产成人免费视频网站 | 国产精品1区2区3区在线观看| 亚洲精品一区二区三区影院 | 久久影院午夜论| 国产乱码字幕精品高清av| www欧美成人18+| 成人一二三区视频| 成人免费在线视频| 在线精品视频小说1| 亚洲成av人片一区二区| 日韩美女视频在线| 91久久精品国产91性色tv| 一区二区三区在线视频观看| 精品视频一区三区九区| 美女在线观看视频一区二区| 久久久精品免费网站| 波多野结衣精品在线| 一区二区三区日韩在线观看| 在线综合+亚洲+欧美中文字幕| 久久国产日韩欧美精品| 国产精品你懂的| 欧美日韩五月天| 国产最新精品精品你懂的| 国产喷白浆一区二区三区| 色哟哟日韩精品| 美女精品自拍一二三四| 国产精品国产三级国产aⅴ入口| 欧美三级乱人伦电影| 极品少妇一区二区| 亚洲人成网站影音先锋播放| 91麻豆精品91久久久久久清纯 | 天天综合日日夜夜精品| 久久婷婷久久一区二区三区| 色欧美乱欧美15图片| 蜜臀精品一区二区三区在线观看 | 亚洲精品视频在线| 91精品福利在线一区二区三区| 国产91丝袜在线播放九色| 亚洲国产一区二区在线播放| 久久精品夜色噜噜亚洲aⅴ| 在线一区二区观看| 国产精品综合二区| 一级特黄大欧美久久久| 久久久亚洲精品石原莉奈| 欧美中文字幕一区| 国产不卡在线一区| 美女国产一区二区三区| 一区二区三区久久| 国产日产欧美一区二区三区| 6080日韩午夜伦伦午夜伦| 91偷拍与自偷拍精品| 国产精品一区二区不卡| 日本大胆欧美人术艺术动态| 亚洲免费在线电影| 国产精品卡一卡二卡三| 久久久五月婷婷| 日韩精品中文字幕在线不卡尤物| 欧美中文字幕一区二区三区亚洲| 成人激情动漫在线观看| 欧美优质美女网站| 91日韩一区二区三区| 丁香激情综合五月| 国产麻豆成人精品| 久久精品久久综合| 免费不卡在线观看| 调教+趴+乳夹+国产+精品| 亚洲一区二区在线视频| 亚洲精品中文字幕乱码三区| 日本一区二区在线不卡| 国产亚洲视频系列| 久久影院午夜论| 国产肉丝袜一区二区| 久久久久久久综合日本| 精品国产凹凸成av人网站| 日韩欧美高清一区| 欧美成人一区二区三区片免费| 日韩亚洲欧美综合| 日韩久久久精品| 精品日本一线二线三线不卡| 欧美xxxxx牲另类人与| 日韩一区二区高清| 精品国产伦一区二区三区观看方式| 日韩精品一区二区三区三区免费| 欧美一区二区三区不卡| 日韩视频永久免费| 精品区一区二区| 久久久www免费人成精品| 国产日韩欧美精品一区| 亚洲国产精品激情在线观看| 一区二区中文字幕在线| 伊人色综合久久天天| 午夜精品久久久久久久久| 日韩电影免费一区| 精品系列免费在线观看| 国产98色在线|日韩| 色综合中文字幕| 欧美疯狂性受xxxxx喷水图片| 欧美一级久久久久久久大片| 欧美精品一区二区三区高清aⅴ| 久久精品视频一区二区| 亚洲人成7777| 日本视频中文字幕一区二区三区| 久久精品72免费观看| 成人精品视频网站| 欧美系列在线观看| 欧美成人猛片aaaaaaa| 国产精品视频一区二区三区不卡| 夜色激情一区二区| 另类专区欧美蜜桃臀第一页| 成人免费看的视频| 欧美日高清视频| 国产欧美日韩亚州综合| 一区二区三区在线看| 久久99精品视频| 色综合久久久久网| 欧美成人女星排名| 一区二区三区在线免费视频| 韩国精品在线观看| 色香蕉成人二区免费| 精品对白一区国产伦| 亚洲精品国产一区二区精华液 | 亚洲一线二线三线视频| 精品一区二区在线视频| 91麻豆精品秘密| 欧美精品一区二区三区久久久| 一区二区三区丝袜| 国产不卡在线视频| 欧美一二区视频| 亚洲精品视频一区| 国产91在线|亚洲| 日韩亚洲电影在线| 亚洲国产一二三| av在线播放一区二区三区| 欧美xxxx在线观看| 午夜影视日本亚洲欧洲精品| a级高清视频欧美日韩| 欧美成人a在线| 日韩精品一级中文字幕精品视频免费观看 | 蜜臀久久99精品久久久久宅男| 日本精品视频一区二区三区| 国产视频亚洲色图| 美女视频第一区二区三区免费观看网站| 91免费视频观看| 国产精品久久久久一区二区三区共 | 国产尤物一区二区| 欧美一区二区三区视频免费| 亚洲午夜国产一区99re久久| 91丨九色丨尤物| 国产精品麻豆久久久| 国产黄色精品视频| www日韩大片| 精品一区二区三区欧美| 这里只有精品免费| 日本不卡一二三| 7777精品伊人久久久大香线蕉的| 一区二区国产视频| 欧美羞羞免费网站| 亚洲成人三级小说| 欧美日韩不卡视频|