• 大小: 31.21MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-24
  • 语言: 其他
  • 标签: CAN  总线  

资源简介

1986 年 2 月,Robert Bosch 公司在 SAE(汽车工程协会)大会上介绍了一种新型的串行总线——CAN 控制器局域网,那是 CAN 诞生的时刻。今天,在欧洲几乎每一辆新客车均装配有 CAN 局域网。同样,CAN 也用于其他类型的交通工具,从火车到轮船或者用于工业控制。CAN 已经成为全球范围内最重要的总线之 一 —— 甚至领导着串行总线。在 1999 年,接近 6 千万个 CAN 控制器投入应用;2000 年,市场销售超过 1 亿个 CAN 器件

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Text;
using ECAN;
using System.Threading;

namespace ECanTest
{
    class ComProc
    {


        // Fields
        public bool EnableProc;

        public const int REC_MSG_BUF_MAX = 0x2710;

        public CAN_OBJ[] gRecMsgBuf;
        public uint gRecMsgBufHead;
        public uint gRecMsgBufTail;


        public const int SEND_MSG_BUF_MAX = 0x2710;

        public CAN_OBJ[] gSendMsgBuf;
        public uint gSendMsgBufHead;
        public uint gSendMsgBufTail;



        private Timer _RecTimer;
        private Timer _SendTimer;

        private AutoResetEvent RecEvent;
        private TimerCallback RecTimerDelegate;
        private AutoResetEvent SendEvent;
        private TimerCallback SendTimerDelegate;


      
        public ComProc()
        {
            this.gSendMsgBuf = new CAN_OBJ[SEND_MSG_BUF_MAX];
            this.gSendMsgBufHead = 0;
            this.gSendMsgBufTail = 0;


            this.gRecMsgBuf = new CAN_OBJ[REC_MSG_BUF_MAX];
            this.gRecMsgBufHead = 0;
            this.gRecMsgBufTail = 0;



            this.EnableProc = false;
            this.RecEvent = new AutoResetEvent(false);
            this.RecTimerDelegate = new TimerCallback(this.RecTimer_Tick);
            this._RecTimer = new Timer(this.RecTimerDelegate this.RecEvent 0 20);
            this.SendEvent = new AutoResetEvent(false);
            this.SendTimerDelegate = new TimerCallback(this.SendTimer_Tick);
            this._SendTimer = new Timer(this.SendTimerDelegate this.SendEvent 0 20);

        }


 

        private void ReadMessages()
        {
            CAN_OBJ mMsg = new CAN_OBJ();

            int sCount = 0;
            do
            {
                uint mLen = 1;
                if (!((ECANDLL.Receive(1 0 0 out mMsg mLen 1) == ECANStatus.STATUS_OK) & (mLen > 0)))
                {
                    break;
                }

                this.gRecMsgBuf[this.gRecMsgBufHead].ID = mMsg.ID;
                this.gRecMsgBuf[this.gRecMsgBufHead].DataLen = mMsg.DataLen;
                this.gRecMsgBuf[this.gRecMsgBufHead].data = mMsg.data;
                this.gRecMsgBuf[this.gRecMsgBufHead].ExternFlag = mMsg.ExternFlag;
                this.gRecMsgBuf[this.gRecMsgBufHead].RemoteFlag = mMsg.RemoteFlag;
this.gRecMsgBuf[this.gRecMsgBufHead].TimeStamp = mMsg.TimeStamp;
                this.gRecMsgBuf[this.gRecMsgBufHead].Reserved = mMsg.Reserved;
                this.gRecMsgBuf[this.gRecMsgBufHead].TimeFlag = mMsg.TimeFlag;
                this.gRecMsgBufHead += 1;
                if (this.gRecMsgBufHead >= REC_MSG_BUF_MAX)
                {
                    this.gRecMsgBufHead = 0;
                }
                sCount++;
            }
            while (sCount < 500);
        }



 
        private void SendMessages()
        {
            int sCount = 0;
    

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     110592  2017-03-21 10:39  USBCAN二次开发资料\①二次开发DLL\ControlCAN\ControlCan.dll

     文件       4920  2017-03-21 10:39  USBCAN二次开发资料\①二次开发DLL\ControlCAN\ControlCan.lib

     文件       4336  2014-11-13 16:57  USBCAN二次开发资料\①二次开发DLL\ECanVci.h

     文件      12288  2017-01-09 10:45  USBCAN二次开发资料\①二次开发DLL\ECANVCI库文件32位\CHUSBDLL.dll

     文件     110592  2017-09-14 09:24  USBCAN二次开发资料\①二次开发DLL\ECANVCI库文件32位\ECanVci.dll

     文件       4966  2017-09-14 09:24  USBCAN二次开发资料\①二次开发DLL\ECANVCI库文件32位\ECanVci.lib

     文件      18944  2017-01-06 19:10  USBCAN二次开发资料\①二次开发DLL\ECANVCI库文件64位\CHUSBDLL64.dll

     文件     110080  2017-09-14 09:24  USBCAN二次开发资料\①二次开发DLL\ECANVCI库文件64位\ECanVci64.dll

     文件       4768  2017-09-14 09:24  USBCAN二次开发资料\①二次开发DLL\ECANVCI库文件64位\ECanVci64.lib

     文件     436199  2017-05-19 09:09  USBCAN二次开发资料\①二次开发DLL\Ecan动态库使用手册5.3.pdf

    ..A.SH.     20480  2017-09-04 09:39  USBCAN二次开发资料\①二次开发DLL\Thumbs.db

     文件      18944  2017-01-06 19:10  USBCAN二次开发资料\②二次开发例程\C# 例子_x64\C# 2005例子_x64\ECanTest\ECanTest\bin\CHUSBDLL64.dll

     文件     110080  2017-09-14 09:24  USBCAN二次开发资料\②二次开发例程\C# 例子_x64\C# 2005例子_x64\ECanTest\ECanTest\bin\ECanVci64.dll

     文件      18944  2017-01-06 19:10  USBCAN二次开发资料\②二次开发例程\C# 例子_x64\C# 2005例子_x64\ECanTest\ECanTest\bin\x64\Debug\CHUSBDLL64.dll

     文件      32768  2017-04-01 16:47  USBCAN二次开发资料\②二次开发例程\C# 例子_x64\C# 2005例子_x64\ECanTest\ECanTest\bin\x64\Debug\ECanTest.exe

     文件      52736  2017-04-01 16:47  USBCAN二次开发资料\②二次开发例程\C# 例子_x64\C# 2005例子_x64\ECanTest\ECanTest\bin\x64\Debug\ECanTest.pdb

     文件       5632  2005-12-08 14:51  USBCAN二次开发资料\②二次开发例程\C# 例子_x64\C# 2005例子_x64\ECanTest\ECanTest\bin\x64\Debug\ECanTest.vshost.exe

     文件     110080  2017-09-14 09:24  USBCAN二次开发资料\②二次开发例程\C# 例子_x64\C# 2005例子_x64\ECanTest\ECanTest\bin\x64\Debug\ECanVci64.dll

     文件       4292  2017-08-30 16:27  USBCAN二次开发资料\②二次开发例程\C# 例子_x64\C# 2005例子_x64\ECanTest\ECanTest\ComProc.cs

     文件       4593  2017-04-01 16:46  USBCAN二次开发资料\②二次开发例程\C# 例子_x64\C# 2005例子_x64\ECanTest\ECanTest\ECAN.cs

     文件       4673  2017-01-03 19:58  USBCAN二次开发资料\②二次开发例程\C# 例子_x64\C# 2005例子_x64\ECanTest\ECanTest\ECanTest.csproj

     文件      13189  2017-04-01 16:47  USBCAN二次开发资料\②二次开发例程\C# 例子_x64\C# 2005例子_x64\ECanTest\ECanTest\frmM.cs

     文件      29536  2017-04-01 16:41  USBCAN二次开发资料\②二次开发例程\C# 例子_x64\C# 2005例子_x64\ECanTest\ECanTest\frmM.Designer.cs

     文件       6208  2017-04-01 16:41  USBCAN二次开发资料\②二次开发例程\C# 例子_x64\C# 2005例子_x64\ECanTest\ECanTest\frmM.resx

     文件        841  2014-12-02 14:31  USBCAN二次开发资料\②二次开发例程\C# 例子_x64\C# 2005例子_x64\ECanTest\ECanTest\obj\Debug\ECanTest.csproj.GenerateResource.Cache

     文件      45056  2014-12-02 14:39  USBCAN二次开发资料\②二次开发例程\C# 例子_x64\C# 2005例子_x64\ECanTest\ECanTest\obj\Debug\ECanTest.exe

     文件        180  2012-08-10 08:57  USBCAN二次开发资料\②二次开发例程\C# 例子_x64\C# 2005例子_x64\ECanTest\ECanTest\obj\Debug\ECanTest.Form1.resources

     文件        180  2014-12-02 14:31  USBCAN二次开发资料\②二次开发例程\C# 例子_x64\C# 2005例子_x64\ECanTest\ECanTest\obj\Debug\ECanTest.frmM.resources

     文件      50688  2014-12-02 14:39  USBCAN二次开发资料\②二次开发例程\C# 例子_x64\C# 2005例子_x64\ECanTest\ECanTest\obj\Debug\ECanTest.pdb

     文件        180  2014-11-13 17:55  USBCAN二次开发资料\②二次开发例程\C# 例子_x64\C# 2005例子_x64\ECanTest\ECanTest\obj\Debug\ECanTest.Properties.Resources.resources

............此处省略490个文件信息

评论

共有 条评论