- 博客(9)
- 收藏
- 关注
原创 如何快速定位段错误 Segmentation fault
直接上干货 linux下:首先修改makefile文件打开调试选项 例如:#VER:=debugifeq($(VER),debug)。。。改为VER:=debugifeq($(VER),debug)。。。然后终端执行ulimit -c unlimited(生成core)然后执行可执行文件调试可执行文件的core文件sudo gdb 可执行文件 coregdb bt显示的是当前程序结束是的堆栈位置。...
2020-12-29 10:10:47 525
原创 c语言读取txt文件,包含逗号分隔符,多行
c语言读取txt文件中的逗号分隔符文件,网上找了一下都很麻烦,想了想还是自己写一个吧,还挺好用的。1,2,4,5,6,7//适用于多行这样的数据话不多说直接上代码char buf[1024]; /*缓冲区*/FILE *fp; /*文件指针*/char *token,*q; /*行字符个数*/if((fp = fopen("/home/zalend/imutest/three.txt","r")) == NULL){perror...
2020-10-26 16:13:18 3703
原创 创建一个线程函数为类的成员的线程,没有对象,但是又要用到类里面的其他变量。
创建一个线程,这个线程需要用到类成员变量如果我们简单的使用静态变量,相当于全局变量,可以调用这个函数最为线程函数,但是在函数内部我们无法使用其他类的成员。如果不定义静态变量有无法创建这个线程。解决方法:(线程是在类里面的函数中创建)1创建一个线程,线程函数为类public成员,参数设置为this。hT...
2018-11-01 14:46:47 1081
原创 结构体定义以及类的定义
结构体1、最正规定义方式:定义结构体data,此时结构体相当于一个类型,比如int,如需使用此结构体,方法同intstruct data char a; int d;}; struct data B2、定义结构体data同时,定义需要使用的结构体变量sum1,sum2。如后面再需要定义结构体变量,方法同1struct data{char a; ...
2018-11-01 13:48:41 3171
原创 FreeRtos内存管理 heap_1.c /heap_2.c /heap_3.c原理代码解析
FreeRTOS提供的内存管理都是从内存堆中分配内存的。默认情况下,FreeRTOS内核创建任务、队列、信号量、事件组、软件定时器都是借助内存管理函数从内存堆中分配内存。最新的FreeRTOS版本(V9.0.0及其以上版本)可以完全使用静态内存分配方法,也就是不使用任何内存堆。对于heap_1.c、heap_2.c和heap_4.c这三种内存管理策略,内存堆实际上是一个很大的数...
2018-10-25 15:26:21 1461
原创 can 网络管理
网络管理主要功能:是用来管理ECU是否在网络里面,不在的话请求加入,也就是ALIVE报文, 要判断是否掉线,以及睡眠状态的转换机制,以及跛行状态判,也即是RING报文。主要的实现逻辑流程:从rtos队列里面取出数据,保存在自定义的结构体里面 不论在何种状态只要接收到报文都需要静进入normal状态,等于初始化一次 提取信息,报文的主要信息有三部分,报文ID,目的地址,以及消息类...
2018-08-31 16:26:54 10740 5
原创 STM32 CAN诊断详解
在许多领域里面,控制系统由很多部分组成,只不过有主次之分。主控制系统是如何知道其他系统是否出现问题的,答案就是通过can诊断,不仅能知道出现的问题还能进行想对其进行的操作。一般为诊断仪和各个部分的通信。 我们在can报文分为诊断报文和解析报文以及网络管理报文,不同的报文根据不同的ID保存在不同的位置。can诊断报文保存在自己的缓存里面。他的报文格式就是数据帧,简单来...
2018-08-20 17:32:36 5275
原创 can整车报文解析
设置初始化,配置管脚,是否进行映射,配置波特率,设置中断函数等等。 下面详细介绍如何解析整车报文的详细过程 Can1控制器发,Can2控制器接收。发送比较简单,设置好发送函数,配置一下ID就完事了,接收也同样简单,只需滤波一下需要的ID就行。但是如果是整车报文的解析就不一样了。主要是接收方的解析。 首先我们得到...
2018-08-16 17:53:54 30115 1
原创 STM32是如何进入中断函数的
中断相信很多人都知道是什么意思,不同的任务有不同的优先级,高任务优先级会比低优先级先执行。在嵌入式系统中,任务的调度和切换都是根据优先级来判断的。 中断可以分为软中断和硬中断。一开始接触到的一般都是软中断,软中断就是中断程序包含在主程序里面,当中断条件满足时,直接跳转到中断函数执行,然后再返回。就相当于判断语句。 刚开始接触STM32的小伙伴可能会发现main...
2018-07-19 15:49:02 20005 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人