设置波特率USBCAN-2E-U与USBCAN-II的使用区别

USBCAN-II与USBCAN-2E-U使用区别与源码移植
本文详细论述了USBCAN-II与其升级版USBCAN-2E-U在使用上的差异,特别强调了在初始化阶段设置波特率的重要性,并提供了一个实例说明如何将USBCAN-II的源码移植到USBCAN-2E-U上。

发一下牢骚和主题无关:

    USBCAN-II已停产,前目它的升级版本为USBCAN-2E-U,之前我有过一篇文章论讨USBCAN-II的使用方法,见:点http://blog.youkuaiyun.com/flydream0/article/details/8088248.本文的的目是论讨两者在使用上的区分,以便将原有的USBCAN-II的源码植移到USBCAN-2E-U上来.

    细心看了下USBCAN-2E-U的开辟手册,发明于对相USBCAN-II来讲,在初始化时,USBCAN-2E-U要必要设置波特率,否则不能畸形通信,设置波特率是通过VCI_SetReference接口来实现的,函数型原为:

DWORD __stdcallVCI_SetReference(DWORD DevType,DWORD DevIndex,DWORD CANIndex,DWORD RefType,PVOID pData);

    这个函数本来是设置关相加参的意思,在不同的设备类型拥有不同的含意,但在DevType=USBCAN-2E-U,且RefType=0时示表设置波特率的含意:

    

    

    

    一个实始化的例实如下:

    每日一道理
哦,妈妈 亲爱的妈妈,您对我的爱比太阳还要炽热,比白雪更为圣洁。在我成长的道路上,您就是女儿夏日里的浓荫,冬天里的炭火,您更是女儿人生路上的一盏明灯。
//开打设备
	if(VCI_OpenDevice(m_devtype,index,0)!=STATUS_OK)
	{
		MessageBox("开打设备失败!","正告",MB_OK|MB_ICONQUESTION);
		return;
	}
	//设置波特率
	if(m_devtype ==VCI_USBCAN_2E_U)
	{	
		DWORD baud =0x060007;
		if (VCI_SetReference(m_devtype,index, cannum, 0, &baud) != STATUS_OK)
		{
			MessageBox(_T("设置波特率误错,开打设备失败!"), _T("正告"), MB_OK | MB_ICONQUESTION);
			VCI_CloseDevice(m_devtype,index);
			return;
		}
	}
	
	//初始化CAN
	if(VCI_InitCAN(m_devtype,index,cannum,&init_config)!=STATUS_OK)
	{
		MessageBox("初始化CAN失败!","正告",MB_OK|MB_ICONQUESTION);
		VCI_CloseDevice(m_devtype,index);
		return;
	}

//...
//启动CAN
    if(VCI_StartCAN(m_devtype,m_devind,m_cannum)==1)
    {
        ShowInfo("启动功成",0);        
    }
    else
    {
        CString str;
        str="启动失败";
        ShowInfo(str,2);
    }

    只要在初始化分部加增设置波特率作操,就能将USBCAN-II的源码很好的植移到USBCAN-2E-U上了.

    其它的,接收过滤器上的接口也做了化优,这里就不做概况分析了.

    

文章结束给大家分享下程序员的一些笑话语录: 看新闻说中国输入法全球第一!领先了又如何?西方文字根本不需要输入法。一点可比性都没有。

转载于:https://www.cnblogs.com/xinyuyuanm/archive/2013/04/25/3043396.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值