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

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

?? canpc.c

?? 這是在KEIL環境下寫的CAN源碼
?? C
字號:
/***************************應用層CANOpen處理written by Meng Zhao   BJUT****************************/

#include "can.h"

#include "canpc.h"
#include "REG591.h"
#include "string.h"

CAN_MSG data rec_mes;
CAN_MSG data TX_SDO;
CANOpenConfig data CANOpenpara;
unsigned char data state;
unsigned int data RecSDO_ID;
unsigned int data RecPDO_ID;
extern unsigned char rec_status;
extern unsigned char send_status;
BYTE RX_message[13];


unsigned char const code SDOTable[]={
   // [1000h,00]: Device Type
  SDOREPLY(0x1000, 0x00, 4, OD_DEVICE_TYPE),

#ifdef OD_SERIAL
  // [1018h,00]: Identity Object, Number of Entries = 4
  SDOREPLY(0x1018, 0x00, 1, 0x00000004L),
#else
  // [1018h,00]: Identity Object, Number of Entries = 3
  SDOREPLY(0x1018, 0x00, 1, 0x00000003L),
#endif

  // [1018h,01]: Identity Object, Vendor ID
  SDOREPLY(0x1018, 0x01, 4, OD_VENDOR_ID),

  // [1018h,02]: Identity Object, Product Code
  SDOREPLY(0x1018, 0x02, 4, OD_PRODUCT_CODE),

  // [1018h,03]: Identity Object, Revision
  SDOREPLY(0x1018, 0x03, 4, OD_REVISION),

#ifdef OD_SERIAL
  // [1018h,04]: Identity Object, Serial
  SDOREPLY(0x1018, 0x04, 4, OD_SERIAL),
#endif

  // [2018h,00]: MicroCANopen Identity Object, Number of Entries = 3
  SDOREPLY(0x2018, 0x00, 1, 0x00000003L),

  // [2018h,01]: MicroCANopen Identity Object, Vendor ID = 01455341, ESA Inc.
  SDOREPLY(0x2018, 0x01, 4, 0x01455341L),

  // [2018h,02]: MicroCANopen Identity Object, Product Code = "MCOP"
  SDOREPLY4(0x2018, 0x02, 4, 'P', 'O', 'C', 'M'),

  // [2018h,03]: MicroCANopen Identity Object, Revision = 1.20
  SDOREPLY(0x2018, 0x03, 4, 0x00010020L),

#ifdef PDO_IN_OD
  // NOTE: These entries must be added manually. The parameters must match
  // the parameters used to call the functions MCO_InitRPDO and MCO_InitTPDO.

  // These entries are necessary to be fully CANopen compliant.
  // Suppported in commercial version of MicroCANopen available from
  // www.CANopenStore.com

  // Warning: This version is not fully CANopen compliant - PDO_IN_OD must not be defined
  #error Warning: This version of MicroCANopen has a limited Object Dictionary! Un-define PDO_IN_OD to confirm!
#endif // PDO_IN_OD

  // End-of-table marker
  SDOREPLY(0xFFFF, 0xFF, 0xFF, 0xFFFFFFFFL)
};
void main()
{
  Can_init();      
  
  reset_communication();
  while(1)
  {
  process();
  }
}

void CANOpen_init(unsigned char NodeID)

{
  RecPDO_ID=0X200+NodeID;
  RecSDO_ID=0X600+NodeID;
  TX_SDO.ID=0X580+NodeID;
  TX_SDO.LEN=0X08;
   CANOpenpara.NodeID=NodeID;
//設置3個濾波器分別以NMT,接收SDO,接收PDO報文的ID作為驗證ID,這樣如果接收到的報文ID與三個報文驗證ID之一相符合,則報文寫入接收BUF.//
  SetCanfilter(0,0,0,0X00,0X0F,0XFF,0XFF);//set canfilter for receive NMT message.
  SetCanfilter(1,RecSDO_ID,0,0X00,0X0F,0XFF,0XFF);//set canfilter for receive SDO message.
  SetCanfilter(2,RecPDO_ID,0,0X00,0X0F,0XFF,0XFF);//set canfilter for receive PDO message.

}
unsigned char CANPC_Search(unsigned int Cindex,unsigned char Csubindex)
{
  unsigned char i;
  unsigned char index_high,hi;
  unsigned char index_low,lo;
  unsigned char const *P;
  unsigned char const *r;
  i=0;
 index_high=(unsigned char)(Cindex>>8);
index_low=(unsigned char)Cindex;

  r=&(SDOTable[0]);
  while(i<255)
    {
	 P=r;
	 r+=8;
	 P++;
	 lo=*P;
	 P++;
	 hi=*P;
       if((index_low==0XFF)&&(index_high==0XFF))
	     return 255;
	   if((index_low==lo)&&(index_high==hi))
	     {
		  P++;
		  if(*P==Csubindex)
		    return i;
		  }
	   i++;
	   }
      return 255;
}





unsigned char Handle_SDO(unsigned char *Cdata)
 {
  unsigned char cmd;
  unsigned int index;
  unsigned char subindex;
  unsigned char num;
  cmd=Cdata[0]&0XE0;
  index=Cdata[2];
  index=(index<<8)+Cdata[1];
  subindex=Cdata[3];
  if((cmd==0X20)||(cmd==0X40))
   {
     num=CANPC_Search(index,subindex);
       if(num<255)
	     {
		   if(cmd==0X40)
		     {
			   memcpy(&TX_SDO.BUF[0],&(SDOTable[num*8]),8);
			   Trans_message(&TX_SDO);
			   return 1;
			  }
			return 0;
		  }
     }
   }


void process()
{
Rec_message(&rec_mes);
if(rec_status)//check if there is a rec_mes
  {
    rec_status=0;
	if(rec_mes.ID==0)//NMT message?
	  {
	    switch(rec_mes.BUF[0])
		  {
		    case 1:     //start(operational )
			 state=1;
			 break;
            case 2:    //stop
			 state=2;
			 break;
			case 128:  //pre-operational
			 state=128;
			 break;
			case 129:  //reset
			 state=129;
			 reset_communication();
			 break;
			case 130:  //reset commuciation
			 state=130;
			 reset_communication();
			 break;
		  }
      }

    if(state!=2)
      if(rec_mes.ID== RecSDO_ID)
        Handle_SDO(rec_mes.BUF);
	}
 }










?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久福利一牛影视 | 日本欧美大码aⅴ在线播放| 中文字幕亚洲不卡| 国产精品久久网站| 中文字幕综合网| 亚洲自拍偷拍图区| 亚洲成人久久影院| 日本中文字幕不卡| 日av在线不卡| 黄色精品一二区| 国产精品伊人色| 波多野结衣的一区二区三区| 99久久精品国产网站| 91在线视频观看| 欧美午夜寂寞影院| 91精品蜜臀在线一区尤物| 日韩欧美的一区二区| 久久精品一区二区三区四区| 欧美国产精品中文字幕| 亚洲少妇中出一区| 婷婷综合在线观看| 国产精品88av| 色哦色哦哦色天天综合| 欧美日韩一区二区三区高清| 中文成人av在线| 亚洲精品中文在线影院| 青青青爽久久午夜综合久久午夜| 另类的小说在线视频另类成人小视频在线 | 国产精品你懂的| 亚洲欧美激情视频在线观看一区二区三区 | www欧美成人18+| 亚洲三级电影网站| 日韩激情在线观看| 国产精品99久久久| 欧美日韩国产影片| 久久久影视传媒| 亚洲一二三区不卡| 国产高清不卡二三区| 99精品一区二区三区| 91精品国产综合久久精品图片| 久久综合九色综合97_久久久| 亚洲欧美另类图片小说| 久久黄色级2电影| 在线欧美日韩国产| 国产情人综合久久777777| 亚洲va欧美va人人爽午夜| 国产一区二区中文字幕| 欧美性高清videossexo| 久久九九久精品国产免费直播| 一区二区三区四区av| 久久99精品久久只有精品| 日本黄色一区二区| 亚洲国产精品激情在线观看| 免费观看日韩av| 色综合久久88色综合天天免费| 久久久99精品久久| 日韩高清不卡一区| 91久久一区二区| 中文字幕乱码亚洲精品一区| 精品一区二区三区蜜桃| 欧美美女喷水视频| 一二三四社区欧美黄| 不卡视频免费播放| 久久九九国产精品| 国产一区二区三区四区在线观看| 欧美日韩精品一区二区三区| 亚洲欧美另类图片小说| 99天天综合性| 中文字幕国产精品一区二区| 国产精品自拍av| 久久久综合精品| 国产精品自产自拍| 久久精品一区八戒影视| 国产精品77777竹菊影视小说| 精品国产凹凸成av人网站| 日一区二区三区| 日韩一级片网站| 免费在线观看精品| 精品欧美一区二区久久| 久久精品国产久精国产爱| 制服丝袜中文字幕一区| 石原莉奈在线亚洲三区| 欧美日韩国产不卡| 色诱视频网站一区| 1024成人网| 在线免费观看日本欧美| 亚洲国产精品久久久久婷婷884| 91福利精品视频| 午夜视频一区二区三区| 制服丝袜亚洲播放| 精品一区二区三区不卡| 国产女主播一区| 成人免费精品视频| 亚洲一区在线电影| 3d动漫精品啪啪1区2区免费| 蜜桃视频一区二区| 久久嫩草精品久久久精品| 不卡在线视频中文字幕| 亚洲午夜精品一区二区三区他趣| 欧美三级三级三级爽爽爽| 日本在线不卡一区| 日本一区二区三区四区| 99视频超级精品| 天天综合天天做天天综合| 精品欧美一区二区久久| a级精品国产片在线观看| 亚洲第一在线综合网站| 欧美一区二区三区四区久久| 国产福利电影一区二区三区| 自拍偷自拍亚洲精品播放| 欧美日韩国产首页在线观看| 精品一区二区三区久久久| 国产精品高潮呻吟| 欧美一区二区视频在线观看2020 | 日本一区二区三区dvd视频在线 | 亚洲地区一二三色| 久久综合999| 欧美主播一区二区三区| 国产乱淫av一区二区三区| 亚洲图片欧美色图| 精品国产91乱码一区二区三区| 色久综合一二码| 久久99国内精品| 亚洲一区影音先锋| 国产精品国产自产拍高清av王其| 欧美精三区欧美精三区| 国产福利精品导航| 紧缚捆绑精品一区二区| 夜夜嗨av一区二区三区中文字幕 | 欧美三电影在线| 国产成人av电影在线| 日本在线播放一区二区三区| 中文字幕在线免费不卡| 精品国产1区二区| 91精品国产福利| 色综合久久久久综合体桃花网| 国产精品伊人色| 激情五月激情综合网| 视频一区二区三区入口| 亚洲国产欧美在线人成| 综合中文字幕亚洲| 国产日韩欧美电影| 2020国产精品自拍| 久久久久久久免费视频了| 日韩一区二区三区免费观看| 亚洲小少妇裸体bbw| 亚洲欧美乱综合| 国产精品国产精品国产专区不片| 国产亚洲一二三区| 久久久久久一二三区| 欧美不卡视频一区| 欧美精品一区二区三区在线| 欧美成人性战久久| 日韩视频免费观看高清在线视频| 日韩午夜在线观看| 欧美成人精品福利| 精品99一区二区| 久久九九久久九九| 国产精品免费免费| 亚洲欧洲一区二区三区| 成人免费在线视频| 一片黄亚洲嫩模| 日本成人在线一区| 久久精品国产第一区二区三区| 美女国产一区二区三区| 捆绑调教美女网站视频一区| 九色综合狠狠综合久久| 国产黄人亚洲片| 成人免费福利片| 日本电影亚洲天堂一区| 欧美日韩午夜影院| 精品日韩欧美在线| 中文字幕欧美激情一区| 亚洲毛片av在线| 日韩国产欧美在线视频| 国产一区二三区| 99久久精品免费看国产| 欧美日韩情趣电影| 日韩欧美激情在线| 欧美高清在线视频| 亚洲福利视频一区| 久久国产尿小便嘘嘘| 成人精品视频网站| 欧美久久一二区| 国产日韩精品一区二区三区在线| 亚洲图片欧美激情| 喷白浆一区二区| 成人福利视频网站| 欧美一区二区视频在线观看2022 | 久久99国产精品成人| 9人人澡人人爽人人精品| 9191国产精品| 国产精品久久久久一区二区三区 | 7878成人国产在线观看| 久久色.com| 天堂在线亚洲视频| 国产99久久久久| 91精品国产免费| 国产精品国模大尺度视频| 久久国内精品自在自线400部|