CAN总线上的消息单帧某个信号的值计算(C#)
public static ulong GetMotorolaSignalValue(byte[] data, int startBit, int bitLength) {
ulong canSignalValue = ;
for (int i = data.Length - , j =; i >= ; i--, j++) {
canSignalValue += (ulong)data[j] << i * ;
}
int x = startBit / ;
int y = startBit % ;
int z = x * + - y;
int rightMoveCount = data.Length * - z;
canSignalValue >>= rightMoveCount;
return canSignalValue & ulong.MaxValue >> - bitLength;
}
public static ulong GetIntelSignalValue(byte[] data, int startBit, int bitLength) {
ulong canSignalValue = ;
for (int i = data.Length - ; i >= ; i--) {
canSignalValue += (ulong)data[i] << i * ;
}
int x = startBit / ;
int y = startBit % ;
int rightMoveCount = x * + y;
canSignalValue >>= rightMoveCount;
return canSignalValue & ulong.MaxValue >> - bitLength;
}

CAN总线上的消息单帧某个信号的值计算(C#)的更多相关文章
- flask 文件上传(单文件上传、多文件上传)
文件上传 在HTML中,渲染一个文件上传字段只需要将<input>标签的type属性设为file,即<input type=”file”>. 这会在浏览器中渲染成一个文件上传字 ...
- springboot2.0+websocket集成【群发消息+单对单】(二)
https://blog.csdn.net/qq_21019419/article/details/82804921 版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上 ...
- can总线中什么是远程帧
所谓“远程帧”是一个传统翻译上的误区.Remote Frame实际上它的意义是“遥控帧”,发起方发起特定ID的远程帧,并且只发送ID部分,那么与其ID相符的终端设备就有义务在后半段的数据部分接管总线控 ...
- bootstrap上传表单的时候上传的数据默认是0 一定要小心
bootstrap上传表单的时候上传的数据默认是0 一定要小心
- Mosquitto安装_Ubuntu/Debian上安装消息队列Mosquitto
Mosquitto安装_Ubuntu/Debian上安装消息队列Mosquitto MQTT是IBM开发的一个即时通讯协议.MQTT是面向M2M和物联网的连接协议,采用轻量级发布和订阅消息传输机制.M ...
- 【Flask】 结合wtforms的文件上传表单
表单中的文件上传 基本的表单渲染,表单类设置等等就不多说了,参看另一个文章即可.但是那篇文章里没有提到对于FileField,也就是上传文件的表单字段是如何处理,后端又是如何实现接受上传过来的文件的. ...
- 弄清AXI总线上每一个信号的含义
弄清AXI总线上每一个信号的含义 1.信息来源 2.AXI总线的端口描述 时钟与复位端口 AXI M总线--写操作--地址通道的相关信号 AXI M总线--读操作--地址通道的相关信号 AXI M总线 ...
- 【转】I²C总线上拉电阻阻值如何选择?
I2C总线为何需要上拉电阻? I2C(Inter-Intergrated Circuit)总线是微电子通信控制领域中常用的一种总线标准,具有接线少,控制方式简单,通信速率高等优点. I2C总线的内部结 ...
- ajax上传表单的俩种方式
1.用h5对象上传表单(图片) var formData = new FormData(); formData.append("authenticity_token", '1212 ...
随机推荐
- 使用Expression动态创建lambda表达式
using System;using System.Linq.Expressions;using System.Reflection; namespace Helper{ public class L ...
- 关于路由跟踪指令---traceroute
我们都用过ping命令来检查主机与目标地址是否连通,自己的主机与目标地址的通讯包通讯速率,所谓的通讯包也就是那些什么TCP/IP,UDP包. 原理:https://www.cnblogs.com/be ...
- ISO/IEC 9899:2011 条款5——5.1.2 执行环境
5.1.2 执行环境 1.定义了两个执行环境:独立式(freestanding)以及宿主的(hosted).在这两种情况下,当一个派定的C函数被执行环境调用时,程序就启动.所有具有静态存储周期的对象应 ...
- osg 三维模型加载与解析(fbx、3ds、ive、obj、osg)
void TeslaManage::OnlineTreeViewDoubleClick(const QModelIndex & index) { int row = index.row(); ...
- osgViewer::Viewer::Windows
osg自带窗口去掉边框 #ifdef _WIN32 #include <Windows.h> #endif // _WIN32 #include<iostream> #incl ...
- Spring Cloud Eureka集群部署到Linux环境
还是三板斧:先改配置文件,支持集群,然后出包,上传到linux环境(3个节点),最后启动jar包跑起来. 1.在原eureka服务端代码(参见Greenwich.SR2版本的Spring Cloud ...
- yml内容如何转map?
yml内容如何转map 解决方法: Map map = null; Yaml yaml = new Yaml(); File ymlFile = new File("c:/src/tes ...
- VS在项目范围内禁止关闭特定警告
要在项目范围内禁止警告,请在项目文件中定义要忽略的以分号分隔的警告代码列表.附加警告代码也$(NoWarn); 1.首先找到该项目的 .csproj 文件 >> 在<Property ...
- 【VS开发】网络SOCKET编程INADDR_ANY选项
INADDR_ANY选项 网络编程中常用到bind函数,需要绑定IP地址,这时可以设置INADDR_ANY INADDR_ANY就是指定地址为0.0.0.0的地址,这个地址事实上表示不确定地址,或&q ...
- in-place数据交换
实现in-place的数据交换 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 经典的排序问题 问题描述 一个数组中包含两个已经排好序的子数组,设计一个in- ...