CANoe入门系列--用CAPL实现简单的开关灯

news/2024/8/22 2:15:50 标签: c++

CANoe入门系列

简单的开关灯实现

  • CANoe入门系列
  • 一、创建新的项目
  • 二、通过DBC创建节点
  • 搭建画布 Panel
  • 配置环境变量
  • 使用CAPL编程使信号传输
  • 运行


一、创建新的项目

双击选择CANFD500kBaud/4MBaud

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
新建页面如下
在这里插入图片描述

二、通过DBC创建节点

在这里插入图片描述
选择dbc的存放位置
在这里插入图片描述
右击Network nodes,创建switch和light节点
在这里插入图片描述
在这里插入图片描述
创建Message,填写Name,ID值越小优先级越高(light不需要过高的优先级,分配为三位数)
在这里插入图片描述
创建Signal,刚刚DLC为1,1byte=8bit,这边的length范围为1~8
在这里插入图片描述
将Signals拖拽到Messages下
在这里插入图片描述
再将message拖拽到switch下 保存
在这里插入图片描述
右键database,import Wizard,导入刚刚新建的dbc
在这里插入图片描述
选择刚刚的dbc,并将节点移动到 Assigned nodes中
在这里插入图片描述

显示如下
在这里插入图片描述

搭建画布 Panel

在这里插入图片描述

向画布中添加开关及LED图例
在这里插入图片描述
保存Panel
在这里插入图片描述

配置环境变量

进入Environment下的SystemVariables
在这里插入图片描述
新建NameSpace,并建立switch和light环境变量
在这里插入图片描述
在这里插入图片描述
再次打开Panel,将环境变量设置给图形化,保存
在这里插入图片描述
在这里插入图片描述

使用CAPL编程使信号传输

双击light节点新建can文件,switch收信号后,light发出信号
在这里插入图片描述

on sysvar switch_light_namespace::sl_switch{
  //先获取到switch变化的msg信息
  message switch_light_msg switch_light_msg;
  //将变化后的信号值赋给signal
  switch_light_msg.switch_light_sig=@this;
  //返回msg信息
  output(switch_light_msg);
}

on message switch_light_msg{
  //让LED的信号值去等于开关变化后的值
  @switch_light_namespace::sl_light=this.switch_light_sig;
}

运行

选择仿真总线
在这里插入图片描述
在这里插入图片描述


http://www.niftyadmin.cn/n/147111.html

相关文章

[计算机组成原理(谭志虎 微课版)]第一章 计算机系统概述(课后习题[习题1]+答案解析)

1.1 解释下列名词。 摩尔定律: 当价格不变时,集成电路上可容纳的晶体管数量大约18-24个月翻一番,性能也将提升一倍。 汇编器: 负责将汇编语言翻译成机器语言目标程序的汇编程序 编译器: 负责将高级语言翻译成汇编代码…

C# 程序加载C++DLL错误集锦及解决

抛出问题 C#项目要采用第三方的方案实现某个功能,第三方提供了一个C实现的库Dll库。然鹅,在实现的过程中遇到一系列的问题,最后都搞懂了,现分享下过程,主要问题总结如下: 1、System.DllNotFoundException…

STM32实现UART-CAN融合式高速串口

STM32实现UART-CAN融合式高速串口 STM32的UART硬件电路,在进行线接传输时,一般低于230400bps的波特率,因为单端信号传输的特性,限制了传输距离和传输速度。而在同一块PCB板內进行短距离UART传输,则可以达到2Mbps及至4…

底层原理计划--Java性能优化(详解)

引起Java性能问题的常见原因之一是过多地创建临时对象 1、有效使用内存 精简业务流程,减少不必要的环节 按需创建对象,不要提前创建 重复的运算,考虑将结果转过变量(即方法的封装) 高频度使用的对象,单独处理使重复使用 2、高效…

「理解C++20协程原理」从Linux线程、线程与异步编程、协程与异步

协程不是系统级线程,很多时候协程被称为“轻量级线程”、“微线程”、“纤程(fiber)”等。简单来说可以认为协程是线程里不同的函数,这些函数之间可以相互快速切换。 协程和用户态线程非常接近,用户态线程之间的切换不需要陷入内核&#xff…

春日旅游路线

1.西安站1.1 景点1)day01 兵马俑华清宫早上,交通有直通车,导航搜秦风发车场。进了景区不要和陌生人交流,景区内有官方讲解。中午,看完兵马俑后出来有商业一条街,可以吃饭。下午,吃完饭后坐613路…

【Leetcode——排序的循环链表】

😊😊😊 文章目录一、力扣题之排序循环链表二、解题思路1. 使用双指针法2、找出最大节点,最大节点的下一个节点是最小节点,由此展开讨论总结一、力扣题之排序循环链表 题目如下:航班直达!&#…

《程序员面试金典(第6版)》面试题 04.04. 检查平衡性

题目描述 实现一个函数,检查二叉树是否平衡。在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 3/ \9 20/ \15 7返回 true 。 示例 2: 给定二叉树…