- 博客(23)
- 收藏
- 关注
原创 MDK程序调试
第 4 个图标是 Step(Step one line),单步调试,每次点击运行一行代码,所以只要有子函数就会。点要特别注意,因为局部变量是来自栈空间的,进入函数申请占空间,退出函数后,栈空间就会被释放掉。针对局部变量,MDK 专门提供了一个栈窗口,用于查看函数中各种局部变量,这个不需要用户添加,另外注意,退出调试前,点击这个按钮取消。断点调试比较重要,进入调整状态后,如果大家想让程序在指定的位置停止运行,可以添加断点,通。然后点击此图标即可,可以看到前面多了一个黄色的小箭头,说明已经运行到此行。
2025-06-05 22:12:00
577
原创 安富莱编程规范学习5之变量、结构、常量,宏
为了清晰的标识变量的作用域,减少发生命名冲突,应该在变量类型前缀之前再加上表示变量作用域的前缀,并在变量类型前缀和变量作用域前缀之间用下划线‘-’隔开。4.对于常量,当可能发生作用域和名字冲突问题时,以上几条规则对于常量同样适用。对于一些常见类型的变量,应在其名字前标注表示其类型的前缀。常量名的核心部分全部大写,但此时常量的前缀仍然用小写字母,以保持前缀的一致性。),在其名称前加“g”和变量类型符号前缀。函数内部等局部变量前不加作用域前缀。使用请参照下列表格中说明。”和变量类型符号前缀。
2025-05-26 21:15:01
246
原创 安富莱编程规范学习4之可读性
说明:防止阅读程序时产生误解,防止因默认的优先级与设计思想不符而导致程序出错。示例:下列语句中的表达式正确的写法:错误示例:正确写法:用枚举写,后再写逻辑代码。
2025-05-25 10:20:49
298
原创 安富莱编程规范学习3之注释
具体的格式请参见如下的说明。在创建代码和每次更新代码时,都必须在文件的历史记录中标注版本号、 日期、作者、更改说明等项目。其中的版本号的格式为两个数字字符和一个英文字母字符。数字字符表示大的改变,英文字符表示小的修改。如果有必要,还应该对其它的注释内容也进行同步的更改。注意:注释第一行星号要求为 76 个,结尾行星号为 1 个* Copyright (C), 2010-2011,武汉汉升汽车传感系统有限责任公司* 文件名: main.c* 内容简述:* 文件历史:* 版本号 日期 作者 说明。
2025-05-22 22:20:24
852
原创 J1939协议栈CAN总线学习-安富莱bsp教程
1.现在电动车充电桩还有各种模组的通信也非常多基于1939协议实现的。J1939协议是由)定义的一组标准。物理层(J1939/11)描述了针对客车的电气接口。描述了构建报文、访问总线以及诊断传送故障的规则。应用层(J1939/71和J1939/73)定义了在网络中传送的每条报文的具体数据。2.协议栈学习方法:掌握一个协议栈,主要就是研究明白程序框架和协议栈执行流程。
2025-04-26 22:49:33
880
原创 联想笔记本突然黑屏之解决方法
今天上午起床看了会电脑,突然之间,哦豁电脑黑屏了,风扇猛转之后,就停了。1.有的是拔掉所有设备,然后长按30秒,2.有的是拔掉所有设备,然后长按60秒,马上打开b站一看解决方法,
2025-04-20 10:55:29
156
原创 安富莱编程规范学习2之排版
在已经非常清晰的语句中没有必要再留空格,如果语 句已足够清晰则括号内侧(即左括号后面和右括号前面)不需要加空格,多重括号间不必加空格,因为在 C 语言中括号已经是最清晰的标志了。eg2:比较操作符,赋值操作符"="、 "+=",算术操作符"+"、"%",逻辑操作符"&&"、"&",位域操作符"<<"、"^"等双目操作符的前后加空格。"、"~"、"++"、"--"、"&"(地址运算符)等单目操作符前后不加空格。eg4:"->"、"."前后不加空格。eg1:逗号、分号只在后面加空格。
2025-04-19 22:53:00
260
原创 基于IMX6ULL-PRO开发板-Linux socketcan基础应用编程之收发实验与电池管理系统数据采集实现
socketcan是在Linux下CAN协议(Controller Area Network)实现的一种实现方法。CAN是一种在世界范围内广泛用于自动控制、嵌入式设备和汽车领域的网络技术。Linux下最早使用CAN的方法是基于字符设备来实现的,与之不同的是Socket CAN使用伯克利的socket接口和linux网络协议栈,这种方法使得can设备驱动可以通过网络接口来调用。Socket CAN的接口被设计的尽量接近TCP/IP的协议,让熟悉网络编程的程序员能够比较容易的学习和使用。
2025-04-13 23:23:43
913
原创 初识STM32(复习)
STM32:ST 是意法半导体,M 是 Microelectronics 的缩写,32 表示 32 位,合起来就指 ST 公司开发的 32 位微控制器。
2025-04-11 23:33:41
244
原创 安富莱c语言编码规范学习1之文件与目录
在引用头文件时,应使用相对路径,避免使用绝对路径 这样当需要移动目录时,只需修改编译器的某个选项即可。2.10、头文件中只存放“声明”而不存放“定义”,可以避免重复定义。2.3、文件的命名不仅要准确清晰地表达其内容,还应该精练,在命名中可以适当地使用缩写。2.4、同一个软件包/逻辑组件的所有头文件和源文件应放在一个单独的目录下,有利于查找并使用相关的文件,有利于简化一些编译工具的设置。)下,可避免其他编写人引用时目录太过分散的问题。来引用预定义或者特定目录的头文件,使用。b. 防止重复引用头文件的设置。
2025-04-10 21:49:48
942
原创 BMS电池管理系统学习1
1.SOP(可用功率状态)是指电池在当前状态下能够安全提供的最大充放电功率。SOP算法需要考虑:电池当前SOC(荷电状态)电池温度电池健康状态(SOH)电池内阻电压/电流限制2.2.代码实现SOP思路。
2025-04-09 22:25:16
470
原创 进程间通信-无名管道
1.无名管道是单向流通的 ,(代码实现无名管道初探)/**/int fd[2];int pid;sleep(5);while(1);char ch[2];return 0;2.无名管道容量有多少大pid_t pid;int fd[2];int n = 0;while(1)3.实现父进程读写pid_t pid;int fd[2];
2025-04-08 23:16:56
597
原创 基于IMX6ULL-PRO开发板利用libmodbus库采集电表数据
/ 将两个 uint16_t 组合成一个 float// 将高 16 位左移 16 位后与低 16 位进行按位或操作,得到 32 位整数// 使用指针类型转换将 32 位整数的地址解释为 float 的地址。
2025-04-04 21:53:22
1021
原创 基于IMX6ULL-PRO开发板使用-libmodbus库
if (rc == -1) //读取输入寄存器的值,可读取多个连续输入保持寄存器。//释放modbus资源,使用完libmodbus需要释放掉。if (modbus_connect(ctx) == -1) //等待连接设备。//关闭modbus连接。#include "modbus.h" //modbus动态库文件。//以串口的方式创建libmobus实例,并设置参数。
2025-03-31 23:31:04
967
原创 虚拟机安装好vmtool后依旧无法使用
四个步骤搞定第一:sudo apt-get autoremove open-vm-tools第二:sudo apt-get install open-vm-tools第三:sudo apt-get install open-vm-tools-desktop最后关机重启
2025-02-25 21:44:04
468
原创 Burp Suite--解决中文乱码问题
1.burp suite有一个很严重的问题:在任何的模块查看response时,中文的话,会出现乱码问题如下图2.这种情况可以通过burp suite本身的配置来改变,1.找到user options,点击它2.再点HTTP Message Display3.点font的第二个:选成黑体4.ok完成...
2022-03-22 18:11:37
5326
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人