<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[c6lala的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/c6lala</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; c6lala]]></copyright><item><title><![CDATA[嵌入式之硬件学习（二）中断、定时器、PWM]]></title><link>https://blog.youkuaiyun.com/c6lala/article/details/148850993</link><guid>https://blog.youkuaiyun.com/c6lala/article/details/148850993</guid><author>c6lala</author><pubDate>Mon, 23 Jun 2025 17:41:29 +0800</pubDate><description><![CDATA[中断系统是为使CPU具有对外界紧急事件的实时处理能力而设置的；当中央处理机CPU正在处理某件事的时候外界发生了紧急事件请求，要求CPU暂停当前的工作，转而丢处理这个紧急事件，处理完以后，再回到原来被中断的地方，继续原来的工作，这样的过程称为中断。请示CPU中断的请求源称为中断源（打断当前工作的事件）。微型机的中断系统一般允许多个中断源，当几个中断源同时向CPU请求中断，要求为它服务的时候，这就存在CPU优先响应哪一个中断源请求的问题。]]></description><category></category></item><item><title><![CDATA[嵌入式学习 51单片机01]]></title><link>https://blog.youkuaiyun.com/c6lala/article/details/148706000</link><guid>https://blog.youkuaiyun.com/c6lala/article/details/148706000</guid><author>c6lala</author><pubDate>Tue, 17 Jun 2025 08:33:00 +0800</pubDate><description><![CDATA[在数字电路中，用来存放二进制数据或代码的电路称为寄存器。]]></description><category></category></item><item><title><![CDATA[系统编程day07]]></title><link>https://blog.youkuaiyun.com/c6lala/article/details/148697588</link><guid>https://blog.youkuaiyun.com/c6lala/article/details/148697588</guid><author>c6lala</author><pubDate>Mon, 16 Jun 2025 18:38:09 +0800</pubDate><description><![CDATA[TCP 是 TCPIIP 体系中非常复杂的一个协议。下面介绍TCP最主要的特点。(1)TCP是面向连接的运输层协议。这就是说，应用程序在使用TCP协议之前，必须先建立 TCP 连接。在传送数据完毕后，必须释放已经建立的TCP连接。这就是说，应用进程之间的通信好像在“打电话”:通话前要先拨号建立连接，通话结束后要挂机释放连接。(2)每一条 TCP连接只能有两个端点(endpoint)，每一条 TCP连接只能是点对点的(一对一)。(3)TCP提供可靠交付的服务。]]></description><category></category></item><item><title><![CDATA[系统编程day06]]></title><link>https://blog.youkuaiyun.com/c6lala/article/details/148262842</link><guid>https://blog.youkuaiyun.com/c6lala/article/details/148262842</guid><author>c6lala</author><pubDate>Wed, 04 Jun 2025 19:52:11 +0800</pubDate><description><![CDATA[1.线程是轻量级进程，一般是一个进程中的多个任务（一个进程可以有多个线程）；2.进程是系统中最小的资源分配单位；线程是系统中最小的执行单位。]]></description><category></category></item><item><title><![CDATA[系统编程day05]]></title><link>https://blog.youkuaiyun.com/c6lala/article/details/148243787</link><guid>https://blog.youkuaiyun.com/c6lala/article/details/148243787</guid><author>c6lala</author><pubDate>Tue, 27 May 2025 18:30:56 +0800</pubDate><description><![CDATA[1.lable.so文件:  动态库 ,运行时动态加载。2.(8M)栈:       放入局部变量, 形参, 函数返回地址3.全局变量区:   bss未初始化的数据, Data区初始化的4.fprintf(fp,”father %d num:%d”,getid(),num)   :  合并成字符串写入fp中5.exit():             c库函数,会执行io库的清理工作,关闭所有的流6._exit():           使当前进程结束。]]></description><category></category></item><item><title><![CDATA[系统编程day04]]></title><link>https://blog.youkuaiyun.com/c6lala/article/details/148212354</link><guid>https://blog.youkuaiyun.com/c6lala/article/details/148212354</guid><author>c6lala</author><pubDate>Sun, 25 May 2025 19:45:31 +0800</pubDate><description><![CDATA[进程是一个的过程（也可以说是正在运行的程序），是系统分配资源的基本单位，由cpu对各个进程指挥调度，在单核cpu的情况下,各个进程可以通过一定规则在cpu上并发运行。]]></description><category></category></item><item><title><![CDATA[系统编程day03]]></title><link>https://blog.youkuaiyun.com/c6lala/article/details/148147985</link><guid>https://blog.youkuaiyun.com/c6lala/article/details/148147985</guid><author>c6lala</author><pubDate>Fri, 23 May 2025 08:04:16 +0800</pubDate><description><![CDATA[要分割的字符串。在第一次调用时，传入要分割的字符串；后续调用时，传入NULL，表示继续分割同一个字符串。: 分隔符字符串。strtok()会根据这个字符串中的任意一个字符来分割str。返回指向下一个标记的指针。如果没有更多的标记，则返回 NULL。]]></description><category></category></item><item><title><![CDATA[系统编程day01]]></title><link>https://blog.youkuaiyun.com/c6lala/article/details/148128643</link><guid>https://blog.youkuaiyun.com/c6lala/article/details/148128643</guid><author>c6lala</author><pubDate>Thu, 22 May 2025 08:33:43 +0800</pubDate><description><![CDATA[标准io【输入输出】  stdio.h头文件 ：stdio.h  ==>标准输入输出头文件；1、关于文件操作的步骤（1）打开文件；（2）io操作，读写操作；（3）关闭文件；注：FILE *是一个结构体，包含文件信息；文件读写的位置相同，都在文件流指针指向的位置；2、打开文件【fopen(  )】【const char *pathname】：想要打开的文件名；【const char *mode】：打开文件的模式；【r】：打开只读，文件流指针在最开始；]]></description><category></category></item><item><title><![CDATA[系统编程day02]]></title><link>https://blog.youkuaiyun.com/c6lala/article/details/148128404</link><guid>https://blog.youkuaiyun.com/c6lala/article/details/148128404</guid><author>c6lala</author><pubDate>Thu, 22 May 2025 08:26:37 +0800</pubDate><description><![CDATA[【const void *ptr】：变量名（或者结构体名）；【 size_t size】：该内容一个多大（或者结构体）；【size_t nmemb】：份数，总共有几个；【FILE *stream】：需要操作的文件名；]]></description><category></category></item><item><title><![CDATA[数据结构day6]]></title><link>https://blog.youkuaiyun.com/c6lala/article/details/148079112</link><guid>https://blog.youkuaiyun.com/c6lala/article/details/148079112</guid><author>c6lala</author><pubDate>Tue, 20 May 2025 08:42:30 +0800</pubDate><description><![CDATA[1.树的定义树：树由节点（Node）组成，每个节点包含一条数据和多个指向其子节点的引用。2.在任意一个非空树中，(1)，有且仅有一个特定的根结点(2)，当n>1 时，其余结点可分为m个互不相交的有限集合T1,T2,T3.。。。。Tm，其中每一个集合又是一个树，并且称谓子树。3.度结点拥有子树的个数称谓结点的度。度为0的结点称谓叶结点。度不为0，称谓分支结点。树的度数是指，这棵树中，最大的结点的度数，称谓树的度数。树的深度或高度，从根开始，根为第一层，根的孩子为第二层。]]></description><category></category></item><item><title><![CDATA[数据结构day3]]></title><link>https://blog.youkuaiyun.com/c6lala/article/details/148020651</link><guid>https://blog.youkuaiyun.com/c6lala/article/details/148020651</guid><author>c6lala</author><pubDate>Sat, 17 May 2025 08:55:14 +0800</pubDate><description><![CDATA[gcc -g main.c linklist.c    //  对两个.c文件进行编译,生成 a.out 文件gdb a.out                         //调试可执行文件 a.outb linklist.c:36             // 在该.c文件第 36 行设置断点r                                //  运行程序,但会在断点前停下n                               //执行下一步。]]></description><category></category></item><item><title><![CDATA[数据结构day2]]></title><link>https://blog.youkuaiyun.com/c6lala/article/details/147933431</link><guid>https://blog.youkuaiyun.com/c6lala/article/details/147933431</guid><author>c6lala</author><pubDate>Wed, 14 May 2025 07:59:11 +0800</pubDate><description><![CDATA[在链式结构中，除了要存储数据元素的信息外，还要存储它的后继元素的存储地址。因此，为了表示每个数据元素ai与其直接后继元素ai+1之间的逻辑关系，对数据ai来说，除了存储其本身的信息之外，还需要存储一个指示其直接后继的信息（即直接后继的存储位置）。我们吧把存储数据元素信息的域称为数据域，把存储直接后继位置的域称为指针域。指针域中存储的信息称做指针或链。这两部分信息组成数据元素ai的存储映像，称为结点（Node）。]]></description><category></category></item><item><title><![CDATA[数据结构day1]]></title><link>https://blog.youkuaiyun.com/c6lala/article/details/147903284</link><guid>https://blog.youkuaiyun.com/c6lala/article/details/147903284</guid><author>c6lala</author><pubDate>Tue, 13 May 2025 08:41:18 +0800</pubDate><description><![CDATA[（1）逻辑结构集合，所有数据在同一个集合中，关系平等线性，数据和数据之间是一对一的关系树， 一对多图，多对多（2）物理结构(在内存当中的存储关系)顺序存储，数据存放在连续的存储单位中，逻辑关系和物理关系一致；链式存储（链表），数据存放的存储单位是随机或任意的，可以连续也可以不连续  （一般认为不连续）（1）数据：可输入输出，具备一些操作（相当于C语言中的变量）（2）数据项：给变量赋予一定的含义（3）数据元素：多个基础的数据项拼在一起（C语言中用struct自定义表示）]]></description><category></category></item><item><title><![CDATA[嵌入式学习day17]]></title><link>https://blog.youkuaiyun.com/c6lala/article/details/147868204</link><guid>https://blog.youkuaiyun.com/c6lala/article/details/147868204</guid><author>c6lala</author><pubDate>Sun, 11 May 2025 10:27:18 +0800</pubDate><description><![CDATA[/这是是结构体的声明,是不占内存空间的,它是抽象的。]]></description><category></category></item><item><title><![CDATA[嵌入式学习day16]]></title><link>https://blog.youkuaiyun.com/c6lala/article/details/147800459</link><guid>https://blog.youkuaiyun.com/c6lala/article/details/147800459</guid><author>c6lala</author><pubDate>Thu, 08 May 2025 19:25:20 +0800</pubDate><description><![CDATA[返回值  是  指针的函数;]]></description><category></category></item><item><title><![CDATA[嵌入式学习day15]]></title><link>https://blog.youkuaiyun.com/c6lala/article/details/147759266</link><guid>https://blog.youkuaiyun.com/c6lala/article/details/147759266</guid><author>c6lala</author><pubDate>Wed, 07 May 2025 18:23:05 +0800</pubDate><description><![CDATA[void Puts(char *s)     //传入数组的首元素地址。while(*s)            //当数组中,字符元素不为'\0'时,即 *s!= 0 继续依次打印字符。putchar(*s++)   // 后加加,先取出s指向地址中的变量值,再对地址向后移动。putchar('\n')    //打印完后进行换行。++s;注:strlen(p)   //  输出为 12 ,因为p指向数组s的首地址,因此会计算出,有效字符数。]]></description><category></category></item><item><title><![CDATA[嵌入式学习day14]]></title><link>https://blog.youkuaiyun.com/c6lala/article/details/147745698</link><guid>https://blog.youkuaiyun.com/c6lala/article/details/147745698</guid><author>c6lala</author><pubDate>Wed, 07 May 2025 08:39:43 +0800</pubDate><description><![CDATA[ps:若是小端存储,此时打印出为10,若是大端存储打印出为0。(可以通过此方法,判断电脑存储是小端存储,还是大端存储)ps:因为会隐式转换成int型,所以存在符号位扩展,因此会显示FFFF8756int *p;p = a;p = p + 1;//向后偏移 1 x sizeof(int) 个地址输出:2int *p;p = a;p = p + 1;//向后偏移 1 x sizeof(int) 个地址NULL表示空指针,空指针无法进行指真运算,它只表示当前指针只是一种状态。]]></description><category></category></item><item><title><![CDATA[嵌入式学习day13]]></title><link>https://blog.youkuaiyun.com/c6lala/article/details/147653075</link><guid>https://blog.youkuaiyun.com/c6lala/article/details/147653075</guid><author>c6lala</author><pubDate>Thu, 01 May 2025 17:51:35 +0800</pubDate><description><![CDATA[分为三种: 1.宏定义         2.文件包含         3.条件编译代码变成可执行文件:预处理 ------->  编译 ----------> 链接--------->可执行文件 1.不带参数的定义#define   标识符  内容gcc  -E -Omain.i main.c   上面指令表示只做预处理,不编译。计算机会无脑把PI替换成 3.1415。 宏名所有都需要大写,以和变量区分,且PI不能是左值。2. 带参数的宏定义#define  宏名(参数表)  字符串因此在宏定义时,应尽量多]]></description><category></category></item><item><title><![CDATA[嵌入式学习day12]]></title><link>https://blog.youkuaiyun.com/c6lala/article/details/147624089</link><guid>https://blog.youkuaiyun.com/c6lala/article/details/147624089</guid><author>c6lala</author><pubDate>Wed, 30 Apr 2025 10:24:15 +0800</pubDate><description><![CDATA[ps:1.没声明时,被调函数需要写在主调函数之前。      2.因为二维数组传参,传的是地址值,因此,被调函数无法知道实参的实际大小,所以还需传入被调函数的大小,a的大小为3,表示有3个一维数组。      3.在定义函数时,传入二维数组作为实参的每个一维数组元素定义个数,应与形参表示数字相同。        如上面个实参为 a[3][4],形参为a[][4]。注:二维字符型数组传参与二维整型数组传参类似。作用域分为 局部作用域 和 全局作用域。局部作用域通常指花括号里。ps: 全局变量不赋值,默认为0。]]></description><category></category></item><item><title><![CDATA[嵌入式学习day11]]></title><link>https://blog.youkuaiyun.com/c6lala/article/details/147593143</link><guid>https://blog.youkuaiyun.com/c6lala/article/details/147593143</guid><author>c6lala</author><pubDate>Mon, 28 Apr 2025 18:55:47 +0800</pubDate><description><![CDATA[因此如果递归过于深,且中间没有出栈,可能会出现栈满 从而程序崩掉。因为字符串  比较特殊,其以'\0'结束,所以当识别到字符为'\0'时,默认字符串结束。ps:因为此时传参传得是地址值,因此在调用函数后,会在原来的数组中直接修改。//几个字节,如64位计算机,地址总线为64位,则打印出8个字节。//32为计算机,地址总线为32位,则打印出4个字节。// 此时打印出的值会根据计算机地址值是几个字节,而打印。因为无法在被调用函数中通过。知道数组究竟有多少个元素,因此,还。ps:因为递归调用每次都需要。]]></description><category></category></item></channel></rss>