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

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

3天内不再提示

PEAK can 上位机二次开发笔记

大功率无线充电 2019-07-29 09:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

PEAK can USB tool ,这个东西在国内用的可能不是太多,最近在做项目所以有用到这个东西。所以针对这个东西的开发做一点介绍。

实际使用过程中其实还是比较好用的,所以我们在后面的开发中打算使用它做我们的调试平台随之而来的问题就是需要制作上位机,好在官方给的例程中有提供各种编辑器的版本。

image.png具体api可以在https://www.peak-system.com/Packages.306.0.html

下载到,我就不添加附件了。

官方库中的标准库已经写的很完善了,我今天主要针对C#的版本的做一下介绍

打开工程

image.png将界面上不要的控件删除掉变成如下:(可以根据自己的是需求,这里我主要不适用帧过滤喝参数配置所有将这两项删除掉,其他项保留)将界面中一些关键参数汉化一下即可。

image.png

将底层的代码中涉及到的报错的代码都可以删除掉。注意不要先从代码中删除,会在涉及界面中报错的,要从设计界面中删除和控件属性去修改属性出错的概率相对小一点。

代码修改:

image.png

如图所示,将故障代码删除掉,且将所有的需要的控件都保留之后,对界面做一些简单的处理,基本上界面就是你自己想要的样子了。

界面处理完了,之后就基本上是做一些发送和接收的数据处理。

在实际的使用过程中我们使用CAN做简单的上位机的时候大多时候只是需要控制发送数据,什么时候发送和接收数据处理这两个问题。

发送相对好解决,只需要定义发送事件即可,可以定时发送或者是控件控制发送这个没有什么好说的只需要按照程序中提供的发送函数进行发送即可我这里只是在定义了一个简答的发送函数(有才华的你可以放开脑洞想像怎么样才能更好玩)

private void Send_data1_Click(object sender, EventArgs e)
{
TPCANStatus stsResult;
TPCANMsg CANMsg;

CANMsg = new TPCANMsg();
CANMsg.DATA = new byte[8];

CANMsg.ID = 0x2812f456;
CANMsg.LEN = 8;
CANMsg.MSGTYPE = TPCANMessageType.PCAN_MESSAGE_EXTENDED ;


CANMsg.DATA[0] = 0x11;
CANMsg.DATA[1] = 0x11;
CANMsg.DATA[2] = 0x11;
CANMsg.DATA[3] = 0x11;
CANMsg.DATA[4] = 0x11;
CANMsg.DATA[5] = 0x11;
CANMsg.DATA[6] = 0x11;
CANMsg.DATA[7] = 0x11;


stsResult = PCANBasic.Write(m_PcanHandle, ref CANMsg);

if (stsResult == TPCANStatus.PCAN_ERROR_OK)
IncludeTextMessage("Message was successfully SENT");
else
MessageBox.Show(GetFormatedError(stsResult));
}

接收处理,既是将有用的的数据从繁琐的can报文中提取出来以一种友善的方式显示出来。like this

image.png

大概提一提数据处理的一个逻辑,首先我定义的是事件触发读取(来一包数据自己触发读取解析一次)然后再在最后处理过程函数中增加一个自己定义数据解析函数:image.png

image.png可以通过帧ID进行判断,然后再处理相关的数据,显示在什么地方你自己说了算。

最后附上我的工程打开CSDN搜索peak can C#二次开发.rar

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

    关注

    27

    文章

    994

    浏览量

    56722
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    宇树人形机器人的配置,核心代码,调试方法,二次开发接口

    宇树人形机器人的配置,核心代码,调试方法,二次开发接口
    的头像 发表于 12-10 09:05 189次阅读

    将蜂鸟E203的内核移植到fpga之后该怎么进行二次开发呢?

    你们好!请问一下我将蜂鸟E203的内核移植到fpga之后该怎么进行二次开发呢?比如我想点亮板子上的led?驱动摄像头进行图像识别?这些该如何进行呢?蜂鸟有类似freedom studio这样的嵌入式开发平台吗?
    发表于 11-10 07:09

    直播回顾 | 掌握车载通信核心技术,虹科CAN总线实战:PCAN二次开发技术直播助您轻松拿捏总线开发“创新引擎

    •1CAN总线二次开发:构建智能汽车“神经网络”的核心能力在“软件定义汽车”的时代,整车电子电气架构正从分布走向集中,车载网络的数据量和复杂度呈指数级增长。基于PCAN等专业工具的二次开发能力
    的头像 发表于 10-09 17:33 330次阅读
    直播回顾 | 掌握车载通信核心技术,虹科<b class='flag-5'>CAN</b>总线实战:PCAN<b class='flag-5'>二次开发</b>技术直播助您轻松拿捏总线<b class='flag-5'>开发</b>“创新引擎

    安信可VC-01/02二次开发篇: PWM输出

    系列教程 【二次开发篇】虚拟开发环境搭建和分享 安信可离线语音模组 VC-01、VC-02 系列教程 【二次开发篇】事件和GPI
    的头像 发表于 08-27 16:06 674次阅读
    安信可VC-01/02<b class='flag-5'>二次开发</b>篇: PWM输出

    安信可VC-01/02二次开发篇: 事件和GPIO控制

    系列教程 【二次开发篇】虚拟开发环境搭建和分享 安信可离线语音模组 VC-01、VC-02 系列教程 【二次开发篇】事件和GPIO控
    的头像 发表于 08-19 14:02 833次阅读
    安信可VC-01/02<b class='flag-5'>二次开发</b>篇: 事件和GPIO控制

    云MES系统源码,支持 SaaS 多租户,支持二次开发

    万界星空科技MES生产制造执行系统源码,有演示,多个项目应用案例,成熟稳定。支持二次开发,商业授权后可商用。
    的头像 发表于 05-07 11:14 537次阅读
    云MES系统源码,支持 SaaS 多租户,支持<b class='flag-5'>二次开发</b>

    DLP6500想调用API进行自主二次开发,怎么构建开发环境?

    请问一下,我购置了DLP6500型号产品,想利用该产品进行开发,实现高速投影的功能。 但是我现在只找到了GUI界面,请问一下,如果我想调用API进行自主二次开发,怎么构建开发环境? 最好有相关的技术指导文件,谢谢。
    发表于 03-03 07:03

    怎么配置dlp6500二次开发的环境,可以使用VS2013吗?

    我想请问一下,怎么配置dlp6500二次开发的环境,可以使用VS2013吗?有没有什么可以参考的文件,感谢!
    发表于 02-28 06:39

    请问LDC1312EVM和TI提供的软件GUI能被二次开发吗?

    请问LDC1312EVM和TI提供的软件GUI能被二次开发吗,想做个测试台供车间员工使用。
    发表于 02-26 06:35

    DLPLCR4500EVM二次开发时在hid_write函数处出错是什么原因导致的?

    二次开发时在hid_write函数处出错,之前没有错误不知道动了什么导致出错了,环境为X64的C++,使用下载的GUI软件是可以连接并投影图片的。 错误信息如下图
    发表于 02-21 06:00

    DLP4500-C350REF如何在linux下借助SDK二次开发

    请问在哪里有二次开发环境配置文档
    发表于 02-18 08:24

    深居浅出AutoCAD二次开发

    深居浅出AutoCAD二次开发,net版
    发表于 01-06 14:12 12次下载

    TSW14J56EVM板卡提供二次开发的接口怎么使用的?

    TSW14J56EVM板卡提供二次开发的接口怎么使用的,有没有详细的使用说明文档?
    发表于 01-03 07:29

    SOLIDWORKS二次开发参数化设计工具​ 慧德敏学

    SOLIDWORKS二次开发参数化设计工具​涵盖选型、建模、装配、出图、编码、报表、集成等众多环节和任务的整合,我们除了提供专业培训,还可针对实际产品提供项目导入,实现交钥匙工程,消除企业的所有风险
    的头像 发表于 12-20 16:21 747次阅读

    SOLIDWORKS二次开发应用范围与实例

    SOLIDWORKS二次开发为企业和设计师们提供了广阔的定制化空间,能够更好地满足复杂多变的设计需求,帮助工程师和设计师提高工作效率,实现更复杂的自动化任务。如您有SOLIDWORKS二次开发需求,欢迎咨询Solidkits
    的头像 发表于 12-13 16:33 1464次阅读