资源简介
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个文件信息
相关资源
- Prescan仿真场景建立教程附Prescan模型
- CANOE学习资料快速入门全
- clearCanvans支持DLL
- X-Scan-v3.3~
- CANOE培训资料
- 基于STM32F4的US100超声波传感器测距
- PreScan入门教程 官方基础培训课程
- IBMAppScan10.0.0
- canal 1.1.4 安装包合集,包括deployer a
- win32超分辩重建RCAN程序
- 周立功can总线学习资料
- PreScan FCW模型 泊车模型 多车道变道超
- Acunetix Web Vulnerability Scanner 10.0破解版
- CAN总线嵌入式开发 从入门到实战 第
- photomodeler scanner v6.2.2.596汉化破解原创
- 工业以太网现场总线EtherCAT国家标准中
- 基于stm32f407实现的modbus/tcp
- PreScan学习资料大全包含两部分
- STM32F103C8T6 CAN总线 RS485 RS232 源代码
- Paint和Canvas使用总结
- Trimble Scan Explorer Extension Setup 1.3.1.19
- CODESYS Canopen
- 02 回调函数.zip
- CANdb++使用指导
- Acunetix wvs 11含破解.rar
- 工业以太网现场总线EtherCAT驱动程序设
- 基于BU61580的1553B总线测试代码
- PCANet代码
- 基于can总线的bootloader
- Canoco5.生态统计软件
评论
共有 条评论