0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

虹科技术 | 重磅更新!PCAN-Basic加入NuGet,报文传输支持时间戳!

广州虹科电子 来源:广州虹科电子 作者:广州虹科电子 2023-05-04 11:35 次阅读

PCAN-Basic.NET

PCAN-Basic.NET(PCAN-Basic API 4.7)是用于在 .NET 应用程序中访问和使用本机 PCAN-Basic API 的接口,该程序集使用 .NET Standard 2.0 编写,适合在 Windows 和 Linux 下开发。


PCAN-Basic.NET是一个全新的PCAN二次开发程序集,与原来的PCAN-Basic API相比有了很大的改动,接下来通过几个Q&A快速了解吧!

pYYBAGRTJk6AIUbHAARfqjJk3Co794.png

Q:什么是PCAN-Basic.NET?

A:PCAN-Basic.NET 是一个针对 .NET Standard 2.0 编译的 .NET 库。这是从托管的 Microsoft 编程环境访问本地库 PCAN-Basic 的新方法。使用 PCAN-Basic 头文件 (PCANBasic.cs/PCANBasic.vb/PCANBasicCLR.h) 已被弃用。

Q:我已经有一个使用 PCAN-Basic 头文件的项目。我必须重写所有内容吗?

A:不需要的!PCAN-Basic.NET 有一个Peak.Can.Basic.BackwardCompatibility命名空间。使用这个,代码保持不变。API 调用在内部重定向。

与原来的头文件形式相比,PCAN-Basic.NET有哪些优势?

Api类,重新设计的 API 访问类(取代原PCANBasic类) ,使用起来更舒适。

1.不再需要使用StringBuilder对象获取字符串参数。2.不再需要在调用GetValue / SetValue时传递缓冲区大小。3.新类型DataBytes管理任何 CAN 或 CAN FD 消息的数据字段。创建消息后不再需要初始化消息的数据字段;4.Api类使用函数重载。不是为 CAN 和 CAN-FD 使用两组函数;5.为定义为标准数据类型的 API 值创建了新数据类型。这使代码更具可读性和可理解性。

Worker类,全新编程思路。

1.使用事件通知自动读取 CAN 消息。应用程序可以注册到MessageAvailable 事件以在接收到新的 CAN 消息时得到通知;2.使用广播表自动写入CAN报文,精度可达一毫秒。可以轻松完成诸如“保持活动”消息之类的操作。3.更详尽的过滤系统。消息过滤允许混合不同的过滤条件;4.处理几个接收队列。应用程序可以将队列及其消息用于专用/分离的任务。5.过滤是针对一个队列而不是针对对象来实现的,这样消息就可以在接收时间自动排序到不同的队列中。

该程序集包含其他有用的类,如 PerformanceTimer ,可用于需要快速反应时间(最高1ms精度)的操作。

代码变得可移植

:由于使用了 .NET Standard 2.0,相同的代码可用于 .Net-Core、.NET Framework 等。

代码变得多平台

:由于 PCAN-Basic 和 .NET (C#) 可用于 Linux 和 Windows,因此使用 PCAN-Basic.NET 程序集编写的应用程序可以在两个系统上编译和运行。

PCAN-Basic.NET 程序集热问:

Q:如何获得 PCAN-Basic.NET 程序集?

A:该程序集作为 NuGet 包 (.nupkg) 交付。该文件可以直接从NuGet.org安装 (在线安装)。另外,它也包含在PCAN-Basic API(本地安装)的下载包中。

poYBAGRTJ6yAEceHAAEpdvua1Ok682.png

Q:如何在不更改旧 .NET 代码的情况下使用程序集?

A:对于这种情况,PCAN-Basic.NET程序集包含一个Peak.Can.Basic.BackwardCompatibility命名空间。只需按照以下步骤在使用 PCAN-Basic 头文件 (PCANBasic.cs/PCANBasic.vb/PCANBasicCLR.h) 编写的 .NET 项目中包含和使用程序集:

1.从项目中删除 PCAN-Basic 头文件。

2.安装PCANBasic.NET NuGet 包。

3.在您的代码“Peak.Can.Basic” 中查找 using 语句并将其更改为Peak.Can.Basic.BackwardCompatibility

更新重点!!!

Q:如何定期发送消息?

A:使用类Worker可以配置最多 MaximumBroadcastCount广播消息。创建 Worker对象后,可以使用其方法“AddBroadcast”来配置自动发送消息。连接对象后,如果这个标准配置没有改变,广播会自动开始。

pYYBAGRTJ8-AB081AALCbYoBe2M342.png

虹科汽车电子

虹科汽车电子事业部在汽车总线行业经验超过10年,与世界知名的CAN、LIN总线供应商PEAK-System、Lipowsky、IHR等合作10年之久,提供基于CAN/CAN FD/LIN/TSN/车载以太网,从数据采集、监控和分析,网络性能仿真和优化,网络配置和一致性测试,架构开发和服务的一系列方案。虹科自主研发的EOL测试软硬件系统已经在业内完成多次安装和测试,事业部所有成员都受过国内外专业培训,并获得专业资格认证工程师平均5年+技术经验和水平,一致赢得客户极好口碑。虹科汽车电子事业部致力于为您提供最专业的服务。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • API
    API
    +关注

    关注

    2

    文章

    1381

    浏览量

    60989
  • 编程
    +关注

    关注

    88

    文章

    3439

    浏览量

    92377
收藏 人收藏

    评论

    相关推荐

    如何利用stm32的bxCAN记录接收每条报文的具体时间

    CAN 接收 FIFO 邮箱数据长度控制和时间寄存器 (CAN_RDTxR)的高16位是记录接收每条CAN报文的具体时间,但是16位记录的时间
    发表于 04-09 06:29

    STM32L051同时开启RTC时间和秒唤醒后,使用GPIO引脚无法触发时间中断如何解决?

    STM32L051同时开启RTC时间和秒唤醒后,使用GPIO引脚无法触发时间中断。但使用一个3.3V的电源接到PC13能够触发RTC时间
    发表于 04-01 06:37

    关于在can控制器上生成时间时遇到的疑问求解

    0x555600CC 看来 MSB 部分没有在正确的时刻更新。 我试过使用相同的 irq 优先级、更高/更低的优先级。 我试图在每次从缓冲区读取信息时检查 TSW 标志,但我找不到一种在每种情况下都有效的方法。 这种用例有什么应用或示例吗? 或者谁有使用时间
    发表于 03-04 06:08

    PCAN软件的使用操作说明

    本文档是PCAN软件的使用操作说明,方便刚接触PCAN的伙伴们快速上手使用这个软件。
    的头像 发表于 02-27 11:42 1070次阅读
    <b class='flag-5'>PCAN</b>软件的使用操作说明

    克服端口顺序影响,使用 PCAN实现固定设备ID/通道分配

    的稳定性和可靠性。本文将详细介绍如何使用PCAN进行固定设备ID/通道分配,帮助您更好地理解和应用PCAN产品。 在同一台PC上使用多个 PCANPCAN-Basic时,在使用设备的
    的头像 发表于 12-18 11:50 395次阅读
    克服端口顺序影响,使用 <b class='flag-5'>PCAN</b>实现固定设备ID/通道分配

    AT32F415 AT32F421 ERTC时间的使用

    AT32F415 AT32F421 ERTC 时间的使用演示AT32F415以及AT32F421 ERTC时间的使用。
    发表于 10-26 06:01

    如何使用PDMA Basic模式传输数据

    使用 PDMA 传输数据。 QSPI0 演示如何使用 PDMA Basic 模式传输数据。 I2S0 演示如何使用 PDMA 散射- 伽瑟 模式传输数据 。 您可以在下列
    发表于 08-22 06:08

    手持式PCAN-Diag FD现可扩展为J1939监控器

    PCAN-DiagFD功能更新PCAN-DiagFD可以监控CAN/CANFD总线的通信情况,可以检测总线波特率,测量总线负载、终端电阻值、CAN_H和CAN_L的电压;支持数据库解析
    的头像 发表于 07-31 22:17 599次阅读
    手持式<b class='flag-5'>PCAN</b>-Diag FD现可扩展为J1939监控器

    CAN FD报文时间计算

    可以根据波特率算出不同类型报文时间,计算公式如下: 报文时间 = 仲裁域位时间 * 仲裁域位数 + 数据域位
    的头像 发表于 07-18 10:49 1500次阅读
    CAN FD<b class='flag-5'>报文</b><b class='flag-5'>时间</b>计算

    MPC5777C抽取滤波器时间的疑问求解

    编号0 级联01 SRES 1 零区 朋友 0 MDIS 0 有了这个,我能够看到 TAP 寄存器正在更新,我能够在 RAM 结果 FIFO 中看到 ADC 计数。 但我看不到时间得到更新
    发表于 06-08 08:09

    LittleFS时间与Windows时间不兼容要怎么处理?

    上次更新的文件时间。但是,这似乎与 Windows 时间不兼容,因此: 1. 如果我使用 LittleFS 编辑文件然后显示 Last
    发表于 06-01 08:18

    Littlefs如何为文件时间设置特定的日期时间

    我想用littlefs给文件时间设置一个具体的日期和时间。 我从文档中知道这个例子: 代码:全选time_t myTimeCallback() { return 1455451200
    发表于 05-16 06:34

    虹科技术 | 重磅更新PCAN-Basic加入NuGet报文传输支持时间戳!

    PCAN-Basic.NETPCAN-Basic.NET(PCAN-BasicAPI4.7)是用于在.NET应用程序中访问和使用本机PCAN-BasicAPI的接口,该程序
    的头像 发表于 05-11 10:19 449次阅读
    虹科<b class='flag-5'>技术</b> | <b class='flag-5'>重磅</b><b class='flag-5'>更新</b>!<b class='flag-5'>PCAN-Basic</b><b class='flag-5'>加入</b><b class='flag-5'>NuGet</b>,<b class='flag-5'>报文传输</b><b class='flag-5'>支持</b><b class='flag-5'>时间</b>戳!

    ulog里用的时间是从哪里取的?

    我现在用的外部RTC,想在ulog里的时间显示外部RTC的时间,ulog里现在默认的时间是从哪里获取的呢?多谢了。。。
    发表于 05-11 09:56

    如何配置SJA1105Q的时间功能?

    你好 : 我正在配置 SJA1105Q 的时间功能,我想知道下面的寄存器可以在运行时更改吗?由于建议将它们作为入口和入口时间的来源,因此应将其更改为固定域区域的主要
    发表于 05-06 06:57