c语言sscanf函数的用法是什么
340
2022-11-05
英创信息技术CAN接口COM组件在C#语言领域应用
1、在目标嵌入式主板上进行COM组件注册
REGSVR32 ComCAN.dll
即可完成COM组件注册。
2、在C#工程中添加COM组件引用
接下来可以进入C# COM组件开发。首先将ComCAN.dll文件复制到用户的C#工程目录下,然后在Visual Studio 2005.NET集成开发环境中打开用户工程。为了使用CAN总线COM组件,必须为该工程添加外部引用;用户可在集成开发环境的右侧的“解决方案资源管理器”中找到“引用”,对其单击鼠标右键,然后单击“添加引用”(如图)。
在弹出的“添加引用”对话框中,选择“浏览”选项卡,并在你的工程目录下找到你刚才复制过来的ComCAN.dll文件,选择它,并单击“确定”。
这时,你已经完成了添加工程中的COM组件的引用工作,这时,你可以在集成开发环境的右侧的“解决方案资源管理器”中看到了一个名称为ComCANLib的引用,同时,ComCAN.dll也加入到了你的工程中(如图)。
3、在应用程序开发中使用CAN COM组件
首先,为了使应用程序能直接调用相关的类和函数,必须在程序的起始using语句中添加:
using ComCANLib;
程序中对于CAN总线的操作完全围绕CoCANClass这个类来进行的。用户可以首先定义CAN总线操作的类的对象实体,然后通过对对象里面的方法(函数)来进行所需要的操作。CoCANClass所定义的对象只有5个函数方法,使用此5个函数方法,就可以实现CAN总线的启动、发送、接收、结束、提示出错等工作。下面大致做一些讲解:
(1) 定义类的对象
CoCANClass EM9000_CAN = new CoCANClass(); //定义CAN对象实例
(2) 使用对象的方法函数
StartCAN(/*[in]*/ UINT canNo, /*[in]*/ UCHAR baud, /*[in]*/ BYTE
acceptanceFilter[9],/*[in]*/BYTE size,/*[out,retval]*/BOOL *pBool )
打开指定CAN接口的函数,在C#中,我们一般按照如下示例的方式来使用:
int Start_status = EM9000_CAN.StartCAN(Port_No, BaudrateSerialno, ACCFilter, 9);
实际在C#中使用的时候,只有4个变量(变量的意义请参考《CAN接口COM组件在WinCE平台上的实现》一文),返回值是一个C++的BOOL变量,而在C#中,是没有BOOL变量的(只有bool),所以,这里处理成一个int变量,为1为真,为0为假。
WriteCAN(/*[in]*/ BYTE buf[13], /*[in]*/ DWORD bufLen,
/*[out,retval]*/ BOOL *pBool )
向CAN总线发送数据的函数,在C#中,我们一般按照如下示例的方式来使用:
int sResult = EM9000_CAN.WriteCAN(TxBuf, dlen);
参数TxBuf是一个长度为13的byte数组(所发送的帧),dlen是数据包的总长度(uint数据类型)。返回值是一个C++的BOOL变量,这里处理成一个int变量,为1为真,为0为假。
接收CAN总线数据的函数,在C#中,我们一般按照如下示例的方式来使用:
参数RxBuf是一个长度为13的byte数组(所接收的帧)。返回值是一个C++的BOOL变量,这里处理成一个int变量,为1为真,为0为假。
GetErrorCode(/*[out]*/ DWORD *ECCRegCode,/*[out]*/ DWORD
errorArray[16], /*[out,retval]*/ int *errorCount)
获取通讯错误代码的函数,带有一个返回输入值的指针变量,我们是按照如下示例的方法在进行使用:
uint eccRegcod = 0; //初始化可以随意设置一个值
uint[] errorArray = new uint[16];
int errorCount = EM9000_CAN.GetErrorCode(out eccRegcod, errorArray);
StopCAN( )
关闭CAN通讯接口。
用户还可以参考英创提供的C# CAN总线COM组件例程,进行实际的应用开发。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~