自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 调试之数据断点

断点分为数据断点和代码断点。所谓数据断点就是该数据所在的内存有改变,就会在改变这个数据的地方停止下来,对于排查数据异常篡改的bug效率非常高。除了使用IAR 等IDE打断点之外还有的使用visual studio 进行嵌入式的开发和调试,本文主要介绍使用visual studio如何打数据断点。6,将变量的地址填入,点击确定,数据断点设置完成,当有地方更改这个值的时候就会停下来。1,先找到该变量s_cur_contrast所在的语句,打一个代码断点。2,F5启动调试,会在上面断点处停止。

2024-03-05 17:19:02 412

原创 一维数组和二维数组以及使用数组指针遍历一维数组和二维数组

又因为a指向a[0],a[1],a[2]为元素的数组,即a指向的其实是3个数组的第一个数组,a+1指向的就是第二个数组,也就是a是一个行指针,跨越的是整个一维数组,所以a的本质是数组指针,指向的是第一个一维数组的地址。可以结合上面的图理解二维数组,int a[3][2]其实是3个一维数组,这个三个数组的名字分别是a[0],a[1],a[2].其本质是int *,也就是a[0],a[1],a[2]分别保存三个一维数组的首元素的地址。数组指针指向的是数组,肯定要把数组的地址给这个指针,而不是数组首元素的地址。

2024-02-20 15:07:30 853 1

原创 自己实现队列

队列是先进先出,自己使用链表实现一个队列,包括队列初始化、进队、出队、和队列的遍历。记录一下代码实现。下图是队列的初始结构和有数据时候的结构。#include <stdio.h>#include <stdlib.h>typedef struct node{ int data; struct node *next;} NODE,*P_NODE;typedef struct queue{ int queue_size; P_NODE front; P_NOD

2021-04-14 15:53:02 153

原创 自己实现双向循环链表

双向链表访问节点的前一个和后一个节点的效率非常高,并且freeRTOS中也是使用的双向循环链表,自己实现一个含有头结点的双向循环链表,链表操作包括初始化和头添加、尾添加 、删除等操作。头节点结构如下:lenght表示list节点个数,刚开始头节点的下一个和前一个节点都是指向自己。有数据的list示意图如下需要注意的是,无论删除还是增加节点,都需要调整4个指针位置,删除的时候需要保存后一个节点。下面是测试#include <stdio.h>#include <st

2021-04-13 19:12:36 153

原创 2021-03-01

adb push 文件出错,提示adb: error: failed to copy 'D:\WORK\scene_sdk_copy\UCOM_ANDRIOD_debug_20210301100048\armeabi-v7a\libuhjs.so' to '/data/app/com.haier.demo.smart-1/lib/arm/libuhjs.so': remote couldn't create file: Permission denied 解决方式解决方式: 使用adb remoun..

2021-03-01 11:49:29 899

原创 回调函数介绍和使用方法以及使用例子

回调函数在日常开发中使用广泛,什么是回调函数,为什么要使用回调函数,如何使用回调函数,本文将详细并结合一个例子说明。 什么是回调函数? 回调函数也是函数,通俗的来说回调函数是由开发者A定义,另个开发者B实现,并在A实现的函数中调用的函数。 为什么使用回调函数? 代码设置都是分层设计的,也就是模块化设计,特别是嵌入式的开发。代码的编码都是分工合作的,每个人负责不同的部分。而不同的层次之间也有相互依赖。假如模块A的数据如何传给另一个模块B,模块B如何处...

2020-12-26 11:21:53 6389 2

原创 根据两种二叉树遍历方式,求二叉树方法

如何根据已知两种遍历的序列,求原始的二叉树?并不是已知道任意两个序列都可以还原二叉树,只有知道先序中序以及中序和后序两种类型的遍历顺序才能还原二叉树。只知道先序和后序是还原不了原始的二叉树的。(1)已知道先序和中序遍历,还原二叉树。已知道二叉树的先序遍历为ABCDEFGH,中序遍历为BDCEAFHG,求后序遍历。       先序(根,左,右)  中序(左,根,右)       ①根据先序遍历可以...

2018-05-30 19:56:36 4096 2

原创 二叉树的三中遍历方式

遍历的主要思想:先把数分为主根,主根的左子树,主根的右子树。左子数看成一个整体,进一步分为主根,左子数和右子数。。。。。。①先序遍历       先序遍历的规则:(1)先访问根节点(2)再先序访问左子数(3)再先序访问右子树A-B-D-C-E-F-G解释:先访问根节点A,然后访问A的左子树(包括BD,把分支BD当成一个整体,在先序访问根节点B,然后访问B的左子数D),最后访问A的右子数(包括CEF...

2018-05-30 11:49:32 494

原创 结构体字节大小计算方法

计算结构体的大小需要的偏移量的知识:       偏移量是指结构体变量中成员的地址和结构体变量的地址的差。第一个成员的偏移量为0,第二个成员的偏移量为第一个成员的偏移量加上第一个成员的大小,依次类推。。。。(1)无结构体嵌套的情况        结构体的大小为最后一个成员的偏移量+其所占的字节数,除了这个准则外,还需要满足以下的两个原则:       1:结构体中成员的偏移量必须是该成员所在字节数...

2018-05-29 20:19:59 10045 5

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除