<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[leonoe121的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/leonoe121</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; leonoe121]]></copyright><item><title><![CDATA[ESP8266WiFi模块实现代码]]></title><link>https://blog.youkuaiyun.com/leonoe121/article/details/119045737</link><guid>https://blog.youkuaiyun.com/leonoe121/article/details/119045737</guid><author>leonoe121</author><pubDate>Tue, 27 Jul 2021 11:00:39 +0800</pubDate><description><![CDATA[ESP8266WiFi模块实现TCP连接服务器
在前面的博客里（STM32-ESP8266wifi模块实现）说到了通过AT命令配置ESP8266实现TCP连接。
他的流程是，
1，使能串口，及中断。
2，发送AT指令到ESP8266WiFi模块，进行配置一些参数。

一、ESP8266WiFi模块初始化
1, AT+RST                重启、复位ESP8266命令
2, AT                    AT确认模块是否正常工作
3, AT+GMR               获]]></description><category></category></item><item><title><![CDATA[STM32-ESP8266wifi模块实现]]></title><link>https://blog.youkuaiyun.com/leonoe121/article/details/119033356</link><guid>https://blog.youkuaiyun.com/leonoe121/article/details/119033356</guid><author>leonoe121</author><pubDate>Fri, 23 Jul 2021 17:39:54 +0800</pubDate><description><![CDATA[1.ESP8266WiFi模块介绍
1.1ESP8266wifi 模块
低功耗串口WiFi模块ESP8266内置一个Tensilica（泰思立达） Xtensa架构的32位处理器L106，具有5级流水线(ARM CortexM3是3级流水线)，最大时钟速度为160MHz，可以使用高达16MB的外部SPI Flash。 该模块采用串口与MCU（或其他串口设备）通信，内置 TCP/IP协议栈，能够实现串口与 WIFI 之间的转换。通过该模块，传统的串口设备只需要简单的串口配置，即可通过WiFi传输自己的数据。
]]></description><category></category></item><item><title><![CDATA[简单学习一下Linux中的环境变量]]></title><link>https://blog.youkuaiyun.com/leonoe121/article/details/118389675</link><guid>https://blog.youkuaiyun.com/leonoe121/article/details/118389675</guid><author>leonoe121</author><pubDate>Thu, 01 Jul 2021 18:39:55 +0800</pubDate><description><![CDATA[环境变量
最近在学习Linux下的C程序编写，在运行可执行程序的时候有个问题就是链接的问题，最后通过学习才知道是因为环境变量没有设置好；
环境变量在进行linux开发过程中经常碰到，那什么是环境变量呢？我在刚学习Linux的时候对环境变量不是特别理解，变量不应该是在编程语言中类似于全局变量和局部变量吗？怎么又来了个环境变量？
在我们主流的OS中几乎都存在环境变量的概念，同样在windows下也是存在环境变量的，如下图所示:


通过学习查询资料，其实这些所谓的环境变量就相当于一些信息的简称，比如搜索、查询的]]></description><category></category></item><item><title><![CDATA[iniparser库的使用]]></title><link>https://blog.youkuaiyun.com/leonoe121/article/details/115873162</link><guid>https://blog.youkuaiyun.com/leonoe121/article/details/115873162</guid><author>leonoe121</author><pubDate>Mon, 19 Apr 2021 22:29:49 +0800</pubDate><description><![CDATA[iniparser库的简单使用
github地址
介绍：
C语言配置文件解析库 — iniparser可以方便的对配置文件进行解析、添加、修改、删除等操作。iniparser是一个C语言库，是针对INI文件的开源解析器。ini文件则是一些系统或者软件的配置文件。
作用：
niparser库的作用是让我们在c文件中用iniparser库中的方法处理ini文件。
格式(ini配置文件)：
（file.ini）
配置文件包含两个基本单元 section 和 key。其中 section 相当于一组 key 的名字]]></description><category></category></item><item><title><![CDATA[Linux下cJSON的下载封装及解析]]></title><link>https://blog.youkuaiyun.com/leonoe121/article/details/115829213</link><guid>https://blog.youkuaiyun.com/leonoe121/article/details/115829213</guid><author>leonoe121</author><pubDate>Sun, 18 Apr 2021 15:46:04 +0800</pubDate><description><![CDATA[Linux下cJSON的下载解析及封装下载cJSON格式下载封装解析
下载
cJSON格式
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写，同时也易于机器解析和生成。它基于JavaScript（Standard ECMA-262 3rd Edition - December 1999）的一个子集。 JSON采用完全独立于语言的文本格式，但是也使用了类似于C语言家族的习惯（包括C, C++, C#, Java, JavaScript, Perl,]]></description><category></category></item><item><title><![CDATA[gcc编译动态库静态库及Makefile知识汇总；]]></title><link>https://blog.youkuaiyun.com/leonoe121/article/details/115794165</link><guid>https://blog.youkuaiyun.com/leonoe121/article/details/115794165</guid><author>leonoe121</author><pubDate>Sat, 17 Apr 2021 21:33:04 +0800</pubDate><description><![CDATA[gcc编译动态库静态库及Makefile知识汇总gcc编译静态库，动态库Makefile 基本使用
gcc编译
静态库，动态库
Makefile 基本使用

]]></description><category></category></item><item><title><![CDATA[C语言字符串库函数 #include ＜string.h＞]]></title><link>https://blog.youkuaiyun.com/leonoe121/article/details/115751948</link><guid>https://blog.youkuaiyun.com/leonoe121/article/details/115751948</guid><author>leonoe121</author><pubDate>Sat, 17 Apr 2021 13:26:27 +0800</pubDate><description><![CDATA[c语言字符串库函数#include&lt;string.h&gt;
在头文件&lt;string.h&gt;中定义了两组字符串函数。第一组函数的名字以str开头；第二组函数的名字以mem开头。只有函数memmove对重叠对象间的拷贝进行了定义，而其他函数都未定义。比较类函数将其变量视为unsigned char类型的数组。
1 strcpy
#include &lt;string.h&gt;

char* strcpy(char *str1, const char *str2);


把字符串str2(包括]]></description><category></category></item><item><title><![CDATA[Linux下树莓派ds18b20温度获取]]></title><link>https://blog.youkuaiyun.com/leonoe121/article/details/115728579</link><guid>https://blog.youkuaiyun.com/leonoe121/article/details/115728579</guid><author>leonoe121</author><pubDate>Thu, 15 Apr 2021 21:29:51 +0800</pubDate><description><![CDATA[dsdsdsd一级目录二级目录三级目录
一级目录
二级目录
三级目录

]]></description><category></category></item><item><title><![CDATA[结构体对齐]]></title><link>https://blog.youkuaiyun.com/leonoe121/article/details/113107913</link><guid>https://blog.youkuaiyun.com/leonoe121/article/details/113107913</guid><author>leonoe121</author><pubDate>Mon, 25 Jan 2021 17:27:58 +0800</pubDate><description><![CDATA[C程序结构体对齐
关于结构体对齐我把我的理解写下来；
结构体对齐的步骤：
1，结构体各个成员对齐；
2，结构体圆整

首先要了解几个概念：
1， 指定对齐值： 指定对齐值是由宏#pragma pack (N)指定的值，里面的N必须是2的幂次方，如1，2，4，8，16等。如果没有通过#pragma pack宏那么在32位的Linux主机上默认指定对齐值为4，64位的Linux主机上默认指定对齐值为8，ARM CPU默认指定对齐值为8；
在计算机内存中，结构体变量的存储通常是按字长对齐的。
例：
32位系统中，]]></description><category></category></item></channel></rss>