<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[u010785142的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u010785142</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u010785142]]></copyright><item><title><![CDATA[20160629笔记：MODBUS协议]]></title><link>https://blog.youkuaiyun.com/u010785142/article/details/79991066</link><guid>https://blog.youkuaiyun.com/u010785142/article/details/79991066</guid><author>u010785142</author><pubDate>Wed, 18 Apr 2018 15:24:47 +0800</pubDate><description><![CDATA[参考：http://www.docin.com/p-44755462.html 笔记：1）MODBUS协议是应用于  控制器 上的一种通用语言。接口方式：RS485、RS232等串口通信：异步，半双工；2）默认数据格式：8位数据、偶校验、一位停止位，19200bps，波特率可设置：38400（最高）、19200、9600、4800、2400、1200bps；3）数据域：支持2*252字节（ASCI...]]></description><category></category></item><item><title><![CDATA[傅里叶分析——三角函数]]></title><link>https://blog.youkuaiyun.com/u010785142/article/details/55190269</link><guid>https://blog.youkuaiyun.com/u010785142/article/details/55190269</guid><author>u010785142</author><pubDate>Wed, 15 Feb 2017 11:54:28 +0800</pubDate><description><![CDATA[一、嘛叫频域

　　从我们出生，我们看到的世界都以时间贯穿，股票的走势、人的身高、汽车的轨迹都会随着时间发生改变。这种以时间作为参照来观察动态世界的方法我们称其为时域分析。而我们也想当然的认为，世间万物都在随着时间不停的改变，并且永远不会静止下来。但如果我告诉你，用另一种方法来观察世界的话，你会发现世界是永恒不变的，你会不会觉得我疯了？我没有疯，这个静止的世界就叫做频域。

　　先举一个公]]></description><category></category></item><item><title><![CDATA[进程与线程]]></title><link>https://blog.youkuaiyun.com/u010785142/article/details/51133536</link><guid>https://blog.youkuaiyun.com/u010785142/article/details/51133536</guid><author>u010785142</author><pubDate>Tue, 12 Apr 2016 15:03:00 +0800</pubDate><description><![CDATA[进程（process）和线程（thread）是操作系统的基本概念，但是它们比较抽象，不容易掌握。

最近，我读到一篇材料，发现有一个很好的类比，可以把它们解释地清晰易懂。

1.



计算机的核心是CPU，它承担了所有的计算任务。它就像一座工厂，时刻在运行。

2.



假定工厂的电力有限，一次只能供给一个车间使用。也就是说，一个车间开工的时候，其他车间都必须停工。]]></description><category></category></item><item><title><![CDATA[#if, #elif, #else, #endif 使用]]></title><link>https://blog.youkuaiyun.com/u010785142/article/details/50232043</link><guid>https://blog.youkuaiyun.com/u010785142/article/details/50232043</guid><author>u010785142</author><pubDate>Wed, 09 Dec 2015 09:40:39 +0800</pubDate><description><![CDATA[有些程序在调试、兼容性、平台移植等情况下可能想要通过简单地设置一些参数就生成一个不同的软件，这当然可以通过变量设置，把所有可能用到的代码都写进去，在初始化时配置，但在不同的情况下可能只用到一部分代码，就没必要把所有的代码都写进去，就可以用条件编译，通过预编译指令设置编译条件，在不同的需要时编译不同的代码。
（一）条件编译方法
　条件编译是通过预编译指令来实现的，主要方法有：
1、#if, #]]></description><category></category></item><item><title><![CDATA[JSON：一种轻量级的数据交换格式]]></title><link>https://blog.youkuaiyun.com/u010785142/article/details/48268669</link><guid>https://blog.youkuaiyun.com/u010785142/article/details/48268669</guid><author>u010785142</author><pubDate>Mon, 07 Sep 2015 17:12:46 +0800</pubDate><description><![CDATA[A. JSON：一种轻量级的数据交换格式；
B. 格式：名称/值对
如：“firstName”：“Huang”   等价于  firstName=“Huang”
 
C. JSON值可以是：
（1）数字*（整数或浮点数）
（2）字符串（在双引号中）
（3）逻辑值（true或false）
（4）数组（在方括号中）
（5）对象（在花括号中）
（6）Null
 
D. 基础结构：]]></description><category></category></item><item><title><![CDATA[字符串处理函数——提取字符串中的字符（重要）]]></title><link>https://blog.youkuaiyun.com/u010785142/article/details/48268395</link><guid>https://blog.youkuaiyun.com/u010785142/article/details/48268395</guid><author>u010785142</author><pubDate>Mon, 07 Sep 2015 17:03:03 +0800</pubDate><description><![CDATA[（1）strstr(a, b)的用法：在a字符串内查看是否有b字符串，没有则输出NULL
     例子:
      char st[ ]="abc 1234 xyz";
      printf("%s",strstr(st,"34") );
     打印出：34 xyz
 
（2）sscanf( ) - 从一个字符串中读进与指定格式相符的数据。
     swscanf()-]]></description><category></category></item><item><title><![CDATA[Socket与Webservice的区别、TCP/IP协议、HTTP协议]]></title><link>https://blog.youkuaiyun.com/u010785142/article/details/48260829</link><guid>https://blog.youkuaiyun.com/u010785142/article/details/48260829</guid><author>u010785142</author><pubDate>Mon, 07 Sep 2015 08:40:36 +0800</pubDate><description><![CDATA[Webservice理解：Socket与Webservice的区别
 
socket是一种协议，采用tcp或udp协议通信。
Tcp、udp属于网络层，上边各层的应用都需要我们自己实现，例如端口的定义，数据包的定义，数据包的加密解密等。
 webservice是一种服务，采用HTTP协议通信，Soap作为数据格式。
HTTP协议属于应用层，通过服务器才可以发布，这样内部定义的端口，数据包]]></description><category></category></item><item><title><![CDATA[如何查询本机IP]]></title><link>https://blog.youkuaiyun.com/u010785142/article/details/48260813</link><guid>https://blog.youkuaiyun.com/u010785142/article/details/48260813</guid><author>u010785142</author><pubDate>Mon, 07 Sep 2015 08:39:11 +0800</pubDate><description><![CDATA[方法1：
打开“开始”菜单——选择“运行”——输入“cmd”——按下“Enter”回车键，这样做可以打开“命令提示符”，在命令提示符中输入“ipconfig”，按下“Enter”回车键；
 
方法2：
点击“打开网络和共享中心”——“本地连接”——“详细信息”——包含物理地址、IP、网关等信息。]]></description><category></category></item><item><title><![CDATA[20150827笔记：C库函数功能]]></title><link>https://blog.youkuaiyun.com/u010785142/article/details/48036505</link><guid>https://blog.youkuaiyun.com/u010785142/article/details/48036505</guid><author>u010785142</author><pubDate>Thu, 27 Aug 2015 22:05:17 +0800</pubDate><description><![CDATA[（1）fopen：打开文件    
形式：FILE*  fopen（const  char *  filename , const  char* mode）
 即：FILE* fp=NULL；
      fp=fopen（文件名，文件打开方式）；
如：fopen（“E:\\a.txt”，“r”）；  //  注：“\\”代表转义字符，表示一个反斜杠
mode对应的功能：
a.“r”：]]></description><category></category></item><item><title><![CDATA[串行总线：I2C、SPI和UART的区别（重要）]]></title><link>https://blog.youkuaiyun.com/u010785142/article/details/47999529</link><guid>https://blog.youkuaiyun.com/u010785142/article/details/47999529</guid><author>u010785142</author><pubDate>Wed, 26 Aug 2015 10:24:59 +0800</pubDate><description><![CDATA[I2C、SPI和UART的区别：
（1）I2C：串行总线
芯片间串行传输总线；双工的同步数据传输；两线：串行数据线（SDA）和串行时钟线（SCL）；多主控总线；当然任何时间点上只能有一个主控；每个设备都有唯一的地址；可以实现组网；
适合器件之间近距离、非经常性的数据传输；
用通用IO口模拟I2C总线，并实现双向传输，则需要一个输入输出口（SDA），还需要输出口（SCL）；
例子：24C0]]></description><category></category></item><item><title><![CDATA[位运算:位逻辑运算和位移运算——可以节省内存]]></title><link>https://blog.youkuaiyun.com/u010785142/article/details/47983903</link><guid>https://blog.youkuaiyun.com/u010785142/article/details/47983903</guid><author>u010785142</author><pubDate>Tue, 25 Aug 2015 21:24:37 +0800</pubDate><description><![CDATA[位运算：节省内存
Char型占1B，short型占2B；
1B=8bits（位），每个位有0、1两个值；
位运算有两类：
（1）位逻辑运算符：&（位“与”）、^（位“异或”）、 |（位“或”）、 ~（位“取反”）；
（2）移位运算符：>（右移）。
注意：位逻辑运算是以位（bit）为单位，普通的逻辑运算是以变量为单位；
^（位“异或”）：1^1=0,   0^0=0,  1^0=1, ]]></description><category></category></item><item><title><![CDATA[结构体、共用体、枚举和typedef]]></title><link>https://blog.youkuaiyun.com/u010785142/article/details/47983179</link><guid>https://blog.youkuaiyun.com/u010785142/article/details/47983179</guid><author>u010785142</author><pubDate>Tue, 25 Aug 2015 20:45:36 +0800</pubDate><description><![CDATA[结构体、共用体、枚举和typedef
数组：同类型的数据；
 
结构体：不同类型的数据；
结构体和结构体变量的关系类似与：类型与普通变量的关系，结构体中说明了结构体变量的信息格式，而结构体变量是结构体的实例；
 
（1）结构体定义：
只有先完成结构体的定义，才能声明并使用结构体变量，其定义是为了说明结构体变量要存储什么信息的过程。
形式：
struct 结构名称    
//也]]></description><category></category></item><item><title><![CDATA[字符串处理函数：复值函数strcpy、比较函数strcmp、连接函数strcat、大写转换函数strupr]]></title><link>https://blog.youkuaiyun.com/u010785142/article/details/47760141</link><guid>https://blog.youkuaiyun.com/u010785142/article/details/47760141</guid><author>u010785142</author><pubDate>Tue, 18 Aug 2015 21:23:56 +0800</pubDate><description><![CDATA[字符串和字符串操作
C中字符串：以‘\0’（空字符）结尾；
声明一个字符串，用数组：
char str[ ]={‘I’, ’L’, ‘O’, ‘V’, ‘E’, ‘\0’};
使用字符串常量：
char str[ ]=”I LOVE”;
同样：后边有隐含的‘\0’；
故声明共有5个有效的字符，但占据了6个内存字节空间；
注意：区分  空格字符和空字符（‘\0’）的区别，出现空字符，]]></description><category></category></item><item><title><![CDATA[C语言32个关键字]]></title><link>https://blog.youkuaiyun.com/u010785142/article/details/47731239</link><guid>https://blog.youkuaiyun.com/u010785142/article/details/47731239</guid><author>u010785142</author><pubDate>Mon, 17 Aug 2015 20:14:10 +0800</pubDate><description><![CDATA[C语言共有32个关键字：
auto：声明自动变量，缺省时编译器一般默认为auto
signed ：声明有符号类型变量
unsigned ：声明无符号类型变量
default ：开关语句中的“其他”分支
break ：跳出当前循环
register ：声明寄存器变量
static：声明静态变量
int：声明整型变量
double：声明双精度变量
long： 声明长整型变量
ch]]></description><category></category></item><item><title><![CDATA[类]]></title><link>https://blog.youkuaiyun.com/u010785142/article/details/47440299</link><guid>https://blog.youkuaiyun.com/u010785142/article/details/47440299</guid><author>u010785142</author><pubDate>Wed, 12 Aug 2015 10:19:28 +0800</pubDate><description><![CDATA[用 "类" 来描述 "对象"
类是属于用户自定义的数据类型
一个类的定义包含两部分的内容, 一是该类的属性, 另一部分是它所拥有的方法。
 
类的定义：
C++中使用关键字 class 来定义类, 其基本形式如下:
class 类名    {        public:            //公共的行为或属性         private:            //公共的行为]]></description><category></category></item><item><title><![CDATA[命名空间]]></title><link>https://blog.youkuaiyun.com/u010785142/article/details/47440097</link><guid>https://blog.youkuaiyun.com/u010785142/article/details/47440097</guid><author>u010785142</author><pubDate>Wed, 12 Aug 2015 10:08:52 +0800</pubDate><description><![CDATA[C++中命名空间的意义
为了避免变量或函数重命名；在命名空间中的每个名字必须表示唯一实体，而在不同命名空间中，可以有相同名字的成员；
需要使用命名空间的作用域运算符(::)。
using指示：using namespace std;  // 引入命名空间std
using声明：using 命名空间名::[命名空间名::……]成员名;  // 例如 using OLib::List;
区别]]></description><category></category></item><item><title><![CDATA[指针和动态内存]]></title><link>https://blog.youkuaiyun.com/u010785142/article/details/47379709</link><guid>https://blog.youkuaiyun.com/u010785142/article/details/47379709</guid><author>u010785142</author><pubDate>Sun, 09 Aug 2015 20:40:09 +0800</pubDate><description><![CDATA[A.指针的大小比较
   例子：
#include
#include
void main(void)
{
       intsz[9]={1,2,3,4,5,6,7,8,9};
       int* p=&sz[0];
       for(p=&sz[0];p&sz[8];p++)

       {
              printf("%d",*p); //1]]></description><category></category></item><item><title><![CDATA[C语言数组与指针（重要）]]></title><link>https://blog.youkuaiyun.com/u010785142/article/details/47363637</link><guid>https://blog.youkuaiyun.com/u010785142/article/details/47363637</guid><author>u010785142</author><pubDate>Sat, 08 Aug 2015 22:55:17 +0800</pubDate><description><![CDATA[A. 数组：同一类型的多个元素集合；在使用数组前必须先声明以开辟需要的内存空间
（1）为每个数据分配存储空间；
（2）能对每个数据进行读写和查找；
注：数组占据的内存空间是连续的
如：一个大小为N，类型为short的数组，其占据的内存大小为：N*sizeof（short）=N*2
如果第一个地址为p，那么第M（M有序性。
   例子：
#include
#include
void]]></description><category></category></item><item><title><![CDATA[C语言5种程序语句（2）——函数语句]]></title><link>https://blog.youkuaiyun.com/u010785142/article/details/47359231</link><guid>https://blog.youkuaiyun.com/u010785142/article/details/47359231</guid><author>u010785142</author><pubDate>Sat, 08 Aug 2015 16:07:04 +0800</pubDate><description><![CDATA[C语言有5种类型的语句：

（1）表达式语句包括：运算符表达式语句、赋值语句。

（2）流程控制语句包括结构化语句和非结构语句；

A.结构化语句包括：条件语句和循环语句；

   a.条件语句包括：if语句和switch语句；

   b.循环语句包括：while语句、do while语句和for语句。

B.非结构化语句包括：限定转向语句和非限定转向语句；

  a]]></description><category></category></item><item><title><![CDATA[C语言基础知识]]></title><link>https://blog.youkuaiyun.com/u010785142/article/details/47318539</link><guid>https://blog.youkuaiyun.com/u010785142/article/details/47318539</guid><author>u010785142</author><pubDate>Thu, 06 Aug 2015 16:10:35 +0800</pubDate><description><![CDATA[C语言知识要点复习资料
总体上必须清楚的:
 1)程序结构是三种:  顺序结构 、选择结构(分支结构)、循环结构。
 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)，有且只有一个main函数。
 3)计算机的数据在电脑中保存是以 二进制的形式. 数据存放的位置就是 他的地址. 
 4)bit是位 是指为0 或者1。 byte 是指字节, 一个]]></description><category></category></item></channel></rss>