广告招募

当前位置:全球资源网 > 技术中心 > 所有分类

t编程入门

2025年11月12日 09:57:26      来源:广州智维电子科技有限公司 >> 进入该公司展台      阅读量:0

分享:

新型Kvaser专业产品的脚本功能被命名位tt语言是一种面向事件的“c”语言。 t程序在设备上运行,可以从pc或设备上自动加载和启动。以下是t编程入门的简短介绍。

为了能够测试和运行t程序,你需要一个Kvaser Professional产品(* 1)。所需软件由CANlib开发工具包进行安装,称为Kvaser TRX

要开始运行并编写你的个t程序,首先下载并安装 CANlib开发工具包 (点击下载),然后启动TRX


标签中输入:

on start

{

printf("Hello World!");

}

这是非常基本的程序,对‘on start’事件做出反应,并在‘Device Output’中输出“Hello World!”。事实上设备发送“Hello World!”给计算机,TRX进行读取。

然后从菜单中选择Run-> Compile。为了能够编译,你首先必须保存t程序,TRX会提示你这样做,它也会提示你保存项目文件。我把它保存为blogpost1

如果编译成功,下一步将需要一个真实的Kvaser professional 产品(*1)。

我连接上了Kvaser Eagle分析仪(查看产品)。你可以看到,TRX可以使用你的设备,因为菜单下的组合框有你的Kvaser设备名称。

要测试t程序,只需打开Run-> Download,这就会把t程序下载到设备。下一步就是真正地运行程序。 Run > Run将启动应用程序,由此你就会在Device Output窗口中看到printf输出内容。

CANlib通道号还是卡号?

当与CANlib交互时,许多功能需要通道的句柄支持。这个通道通常被称为“CANlib通道”,因为这是其在Kvaser硬件中的标签。


如果要从Eagle设备上的个通道发送CAN报文,我们应该打开CANlib通道3 canopenChannel(3, canOPEN_EXCLUSIVE) CANlib中的某些功能与设备上的实际通道无关,因此你可以使用任何设备通道都同样成功。例如,要打开或关闭设备LED,可以调用kvFlashLeds(hnd, kvLED_ACTION_ALL_LEDS_ON),其中hnd可以是CANlib通道34的句柄。那么为什么需要卡号?从历史的角度来看,没有通过Kvaser CANlibKvaser设备的所有交互都直接指向驱动程序。在这种情况下,不能使用CANlib通道号,因此需要新的数字来指示,例如第二个设备使用驱动程序kcany。这个新号码被称为卡号,并在选择设备通道时显示在Kvaser硬件中。


在上图中,我们可以看到,作为通道设备5Kvaser Memorator Pro 5xHS连接到CANlib通道6和卡号2 CANlib通道和卡号都是从零开始(正如程序员通常所做的那样),但是因随机生成机制,卡号在Kvaser硬件中显示(仅在Kvaser硬件中)得看起来像是从1开始。所以我们的设备实际上连接到了CANlib通道6卡号1,这意味着我们需要发出命令hydra_flash.exe -C1 imagefile.img以升级此设备的固件。如今,其已成为历史,因为我们通过调用CANlib (canGetChannelData(channel,canCHANNELDATA_CARD_NUMBER, buffer, bufsize))函数可获得索引卡号0。这也是Python模块kvDevice的工作内容,其可在使用卡号的其它库(kvmlib)进行交互时位你提供协助。不过,了解了其工作原理会很有意思。





版权与免责声明:
1.凡本网注明"来源:全球资源网"的所有作品,版权均属于全球资源网,转载请必须注明全球资源网。违反者本网将追究相关法律责任。
2.企业发布的公司新闻、技术文章、资料下载等内容,如涉及侵权、违规遭投诉的,一律由发布企业自行承担责任,本网有权删除内容并追溯责任。
3.本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。 4.如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系。