![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c
离凌寒
这个作者很懒,什么都没留下…
展开
-
一、数据结构与算法练习整理
整理栈,链表,队列的练习应用实例。原创 2024-05-13 00:30:34 · 248 阅读 · 1 评论 -
一、关于串口以队列方式接收数据应用笔记。
对串口以队列方式进行接收数据时的使用分析笔记原创 2023-03-01 11:44:43 · 485 阅读 · 1 评论 -
一、关于回调函数在实例中的应用分析
关于回调函数的应用分析和演示。原创 2022-11-03 11:54:55 · 415 阅读 · 0 评论 -
一、使用串口处理机制中对于FIFO的处理机制应用的解读
一、FIFO是First Input First Output的缩写,先入先出队列。使用的场景:一般是在不同的时钟域之间的数据传输(简单理解即:一个(读\写)快,另外的一个(读\写)慢的场景中。)本质操作:就是将收的数据存储的一个线性的数组中,通过指针指向该数组的自加1(偏移)来遍历数据,达到读取或者写入的目的。作用:起到缓冲环节,可防止数据的丢失。对数据量大的进行存储,避免频繁的总线操作。并且可满足dma的操作。在fifo中需要理解连个重要成员:宽度:指一次写读操作的数据位数。深度:存储多少原创 2022-05-07 15:01:15 · 2161 阅读 · 2 评论 -
一、单向、循环、双向链表流程的应用的演示。
一、链表流程的演示。(1)主要是链表的初始化流程,以及配置演示。使用的环境为gcc编译环境,环境配置查看往昔文章。(1)单向链表#include <stdio.h>#include <string.h>#include <stdlib.h>//--------------------------------------------------------单向链表 typedef struct node { int data; stru原创 2022-03-31 11:17:12 · 1277 阅读 · 0 评论 -
一.静态库和动态库的创建与调用。
1.创建静态库:static_test_sort.h#define funtype int //变量类型funtype Sel_sort(funtype *a, funtype len); //选择排序funtype bub_sort(funtype *a, funtype len); //冒泡排序funtype insert_sort(funtype *a,原创 2021-12-29 20:27:57 · 637 阅读 · 0 评论 -
一.关于vscode配置快速文件注释和函数注释功能。
1.打开配置2.格式如下:此类注释实际使用的是一种打印输出:文件中有实例说明,这不光可以配置注释还可以配置for,while以及switch等,需要自定义的函数。(注意文件类型的对应的关系,c.json仅适用于c,c++.json又需要进行配置){ // Place your snippets for python here. Each snippet is defined under a snippet name and has a prefix, body and // descrip原创 2021-11-09 10:51:12 · 1847 阅读 · 0 评论 -
一.大端和小端的认识解读
首先内存地址和数据的存储大多遵循一个存储规律,而存储规律分了两类,一类位大端,数据高位,存储在低地址也可以是(数据低位,存储在高地址)数据:0x12345678高… 低地址数据高低位置0x0000 00000x12低地址0x0000 00010x340x0000 00020x560x0000 00030x780x0000 000……0xFFFF FFFF0xff高地址一类位小端,数据低位,存储在低地址。(数据高原创 2021-09-26 16:29:48 · 79 阅读 · 0 评论 -
一.对于计算机中存储地址的计算以及容量缺少问题的分析
1.首先1GB=1024MB,M是MB的简称。1024GB=1TB,1024Byte=1KB,1024KB=1MB 移动数据流量单位转换关系。字节 (byte):8个二进制位为一个字节(B),最常用的单位。计算机存储单位一般用B,KB,MB,GB,TB,PB,EB,ZB,YB,BB来表示,它们之间的关系是:1B(Byte字节)=8bit;明确一点: 64kb=0x1 0000 = 65535 = 2^162.存储容量计算:即通过 (128kb/64kb)*0x10000计算可得容量结原创 2021-08-23 15:04:12 · 970 阅读 · 1 评论 -
一.关于变长数组,以结构体来处理的应用问题。
一.目标:由于数据的长度根据请求,而返回的数据长度会发生改变,这时定义一个变长数组就可以,使定义不同长度的数组来返回数据的问题变得简洁起来。二.方法:采用的结构体中0数组来处理该问题。//定义长度结构体typedef truct Line{ uint8_t length; uint8_t contents[0];//在结构体中,数组为0的数组必须在最后声明,使 用上有一定限制}Lines;//结构体字节对其问题//表示它后面的代码都按照n个字节对齐#pragma pack原创 2021-08-20 16:59:04 · 441 阅读 · 0 评论 -
一.解读链表的关键步骤
**一.解读单向链表的关键步骤:**一:单向链表:简单来看就两样成员:一个数据域,一个指针域;struct AL{ int date;//数据 struct AL next;//指针}Ali;二:尾插法:插入数据的关键在于最后的节点其指针域是指向空的。其次就是让倒数第二个节点的指针域指向最后节点的数据。 //创建节点省略node为要插入的节点: node->date=date;//数据域中获取数据 node->next=NULL;//指针域指向空 // head,原创 2021-04-08 00:09:58 · 169 阅读 · 0 评论 -
一.对于uint32_t,uint16_t和uint8_t之间的相互转化,以及uint16_t的高低位互换,bit->int转换等
**对于uint16_t和uint8_t之间的相互转化,以及uint16_t的高低位互换。**一.说明: 左移:从二进制的角度看现象,就是左移几位就在右边添几个0。 从逻辑上来讲左移n位就是乘以2的n次方了。 右移:从二进制角度看,则是在左边填0,右边去除移动的位数的位 。 (如遇到时1>>1, 便是0.); (注意:如果操作数是一个正数,那么左边的空缺位使用0补, 如果操作数是一个负数,那么左边的空缺位使用1补) 从逻辑上来讲右移就是除以2的n次方原创 2021-03-16 09:11:43 · 15615 阅读 · 2 评论 -
一.关于itoa,atoi添加头文件后仍报错,编写相应自定义函数解决方案。
1.首先itoa、atoi的头文件在stdlib.h下。有时即使添加了stdlib.h依旧无法使用这两个函数。比如stm32下编程时。2.自定义函数如下:/*将整数转化为字符串:num,转换对象str,转换后存储字符串的数组radix,转换(给于的字符串)的长度*/char *myitoa(int num,char *str,int radix) { /* 索引表 */ char index[]="0123456789abcdefghijklmnopqrstuvwxz";原创 2021-08-19 16:52:23 · 2665 阅读 · 2 评论