CAN报文
前言一直都不会根据CANDBC的LAYOUT写结构体,每次接到需要修改结构体的需求,都是应付先把任务完成;这件事一直是我的一个心病,因为我根本不懂原理,非常难受。趁着这次客户的DBC原始数据是Intel模式,把这些知识搞清楚。 大小端在计算机科学和技术中,大小端是指在存储和传输数据时字节序列的顺序; 计算机中的所有数据都以二进制位的形式进行存储,并且每8个二进制位组成一个字节;因此,一段数据可以看作是由若干个字节组成的;而字节序列则是由多个字节组成的二进制数据,在存储和传输数据时,字节序列的排列方式会影响到程序的正确性、可读性以及跨平台兼容性等问题; 大端模式是指将高序位字节存储在起始地址,而小端模式则是指将低序位字节存储在起始地址;对于一个四字节整数0x12345678,大小端的存储方式如下所示; 地址 0x1 0x2 0x3 0x4 大端模式 0x12 0x34 0x56 0x78 小端模式 0x78 0x56 0x34 0x12 在大端模式下,高字节存储在低地址,低字节存储在高地址;在小端模式下,低字节存储在低地址,高字节存储在高地址; 位域C 语言的 ...
告别
7a62b715975494b3f39b582cff78fdaad737051d472f5f1e61efea2a13b76480fc848fe87b393957d2af642d8093b7ef5a5960d333d61d8cf628d58bc795e9382e3ae3315408033234dafa594773bcaea868946123dc2e13d948f91f5607ad10797346222473c7553225cd5ab7f20079cdd5447c9ae9804759668a4eff86fc6042287633220be8fb4bc22c469db7d55987c6e0957e1686d02d56df08f6575d423e017c06972b4fb4fd69c4f02c572e76802a6062579f7ccfa72b584c14a29865159cefc0f5543b21b657a3bd6f402d20124d4a2966aaa42089a3defb2949610bc40ac76fe403ccc9d362d96a3761ee1fe3d6646f7e1b71bbd ...
电脑选购
前言我的电脑联想拯救者y700是2017年上大学买的,i5六代处理器,128G固态+1T机械硬盘,8G内存,显卡是GTX960,2G的显存; 2018年末的时候,因为被360升级系统,导致我更换过一次8G内存条和1T的机械硬盘(数据全丢了),但是由于在保修期内,所以是免费更换的,这一点联想还是不错的;另外,我自己加装了一个8G内存,所以现在的内存是16G;电脑的其他硬件都没有更换过,但是电脑被我拆过清灰N次,重装过N次系统,还安装过苹果的MacOS系统,跟着我真的是被折腾死; 我突然想换电脑,是因为我最近发现我电脑打开的时候会咯吱咯吱响,我做结构的同事说可能是转轴坏了,但是我不敢拆更换转轴,因为要把电脑大卸八块,以我目前的水平和勇气不敢拆,所以我就在转轴那里涂了一点润滑脂,咯吱咯吱声音有所改善。 我同学建议我把1T的机械硬盘更换成1T的固态硬盘,但是我电脑里的数据太多了,非常折腾,不如一步到位,而且我电脑已经六年半了,在我高频率的使用下,的确可以换了; 电脑选型首先我纠结的是操作系统,是选苹果的MacOS还是Windows,因为我有iPhone和iPad所以其实我还是挺想换MacOS的 ...
2023年终总结
7a62b715975494b3f39b582cff78fdaa4700579ba1adc5694d1060aa0ef8b5ccdb4a1de252b85ca716a85da92e940918e4c3051ce077f53a193c3b08fdfedbddd63ec25e7b2706870677855f3f097b974a4d978623d18128e691b97ed8187806df9470d3db94a95d1214bea72ad21f001f4fa870bb416c4cc2bf7893fd383b2711d06c0213a18762be0b98d0d109a24e3325c52b722481888af4e553aaed9f2b17df7f4b1d2c460a5eeb31251ed4b69453bd880950dd7e51b844a057d10403c7b5a2958b4fd8834179b39362d912ddd14c5c1774ee8bc7a0fbfdf00b7c8d0485685306abd901f7a7a4db27f7a1bfc540dc0d86b2f87bd7d78 ...
XCP协议基础
前言本文参考了以下两篇大佬的文章 fzxhub教程贴https://docs.fzxhub.com/ 小猫爪教程贴https://blog.csdn.net/Oushuwen/article/details/132408765 标定协议原理为什么需要标定协议现在一款汽车、机械臂。要有灵魂动起来,主要有机械运动部分、电子控制硬件部分、电子控制软件部分。软件部分又分为软件、和参数。比如车型A,区分高、中、低三个配置,但是其实不管是硬件还是内部代码基本都一样,不一样的是一些车型参数或者配置字。通过标定就能实现车型配置的切换,体现不一样的系统性能 标定协议是汽车控制在编写程序后,部分功能实现的部分参数是需要在实车上才能确定的,当然在实车上调试过程中也需要监测一些数据才能进行调试工作 在一些需要调试较少的系统中,可以一边调试一边优化参数重新下载程序。对于汽车这样复杂系统就变得不可能。因此诞生一种标定系统。程序工程师将程序编写架构搭建好,在编程过程中需要预知那些参数需要标定(实时修改),那些变量需要观测(实时查看)。系统程序搭建好后,标定工程师即可在实车上实时查看、调试控制器。因此诞生一种标定协议 ...
XCP协议指令
XCP指令详解标准(STD)指令必实现指令0xFF:CONNECT 该命令与从设备建立一个连续的、逻辑的、点到点的连接设备。在运行XCP会话期间(已连接),此命令不影响任何XCP从设备的配置。 从设备在非连接状态时不响应任何其他命令(除了自动检测) Mode参数 Mode=0x00主机可以与从设备启动XCP通信 Mode=0x01主机可以启动XCP通信同时告诉从机它应该进入一个特殊的(用户自定义的)模式 RESSOURCE参数 CAL/PAG、DAQ、STIM、PGM = 1 表示该资源可用,反之不可用 COMM_MODE参数 ADDRESS_GRANULARITY_1、ADDRESS_GRANULARITY_0 00: ADDRESS_GRANULARITY=BYTE AG=1字节 01: ADDRESS_GRANULARITY=WORE AG=2字节 10: ADDRESS_GRANULARITY=DWORD AG=4字节 11: ADDRESS_GRANULARITY=保留 AG=保留 SLAVE_BLOCK_MODE参数 1:表示从机块模式可用 0:表示从机块 ...
嵌入式基础(二)
C语言相关 查看相关知识 14.预处理指令和多文件编程 查看相关知识 (1)预处理指令以#开头的都是预处理指令,在预处理阶段会处理的指令预处理—gcc -E xxx.c -o xxx.i宏#define预处理指令可以用来定义宏格式:#define 宏名称 (宏值)宏名通常都是由大写英文字符构成,宏名不可包括空格;用宏给数字命名时,不可使用赋值操作符,不自增自减宏能够给表达式命名,宏的参数可以用来表示表达式的未知数字;格式:#define 宏名称(参数列表) (宏值表达式)宏只检查参数个数,不检查参数类型可以在编译命令里使用-D选项指定宏所代表的数字;由于有些数字在编写程序时无法确定,只有在编译的时候才知道,这个时候需要在程序里使用宏名称代表它们,然后再编译时用数字替换这些宏宏操作符#是一个宏操作符,能够将宏的参数转换成字符串##是一个宏操作符,可以将一个代表标识符的参数和其他内容连接为一个新的标识符编译器内置宏—预定义宏;默认已经定义好的宏,直接使用即可,如下表| 宏 ...
嵌入式基础(一)
计算机基础终端相关 查看相关知识 Kernel - the innermost part of any modern operating system which directly talks to actual hardware.Shell - wrapper around the actual Kernel. Whenever we run command, we actually talk to shell which in turn invokes appropriate Kernel instructions. Apart from this, the shell is capable of performing some other stuffs like finding appropriate program while having commands, some file name short hand, piping commands etc. Linux/MAC流行的shell是bash;Windows通常 ...
2022年终总结
7a62b715975494b3f39b582cff78fdaa4700579ba1adc5694d1060aa0ef8b5ccdb4a1de252b85ca716a85da92e940918e4c3051ce077f53a193c3b08fdfedbddd63ec25e7b2706870677855f3f097b974a4d978623d18128e691b97ed8187806df9470d3db94a95d1214bea72ad21f001f4fa870bb416c4cc2bf7893fd383b2711d06c0213a18762be0b98d0d109a24e3325c52b722481888af4e553aaed9f2b17df7f4b1d2c460a5eeb31251ed4b69453bd880950dd7e51b844a057d10403c7b5a2958b4fd8834179b39362d912ddd11e2f1d52fa5f7020cbc2921a9de5932bbcb8f192ec4093ecfced105b92d70e09f048a78f32ea9c5e0 ...
网站加载优化方案
前言网站加载速度不仅可以极大地提升用户体验感,还能对访问者的转化率起到一定的帮助,经过优化的网站文件下载与页面显示速度更快,因此网站加载优化是十分必要的。 本文参考了以下两篇大佬的文章 山岳库博教程贴https://kmar.top/posts/7d9fb37e/ 糖果屋教程贴https://akilar.top/posts/8f31c3d0/ 压缩静态资源 查看教程 我是使用gulp来压缩静态资源的,被压缩的文件有HTML,CSS,JavaScript文件。1.插件安装在博客根目录打开终端,输入以下指令:123456789101112npm install --global gulp-clinpm install gulp --save# 压缩HTMLnpm install gulp-htmlclean --save-devnpm install gulp-html-minifier-terser --save-dev# 压缩CSSnpm install gulp-clean-css --save-dev# 压缩JSnpm ...