自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 touch_audio示例程序

进入touch_audio工程目录cd esp-dev-kits/esp32-s2-kaluga-1/examples/touch_audio配置工程idf.py set-target esp32s2 menuconfigExample Configuration—>touch pad type (ESP32-S2-KALUGA_V1.2)Example Configuration—>audio pad type (ESP32-S2-KALUGA_V1.2)这里只有V1.2寻找,

2020-09-09 07:33:05 236

原创 touch示例程序

进入touch工程目录cd esp-dev-kits/esp32-s2-kaluga-1/examples/touch配置工程idf.py set-target esp32s2 menuconfigExample Configuration—>(45) WS2812 GPIO 通过RGB灯看touch效果,所以选择GPIO45Example Configuration—>touch pad type (ESP32-S2-KALUGA_V1.3) 开发板的版本号编译在这里你会发现

2020-09-09 07:27:10 233

原创 lcd示例程序

进入lcd工程目录cd esp-dev-kits/esp32-s2-kaluga-1/examples/lcd明确esp32-s2-kaluga-1开发板的参数及lcd版本RAM:4MFLASH:2MLCD:ILI19341配置工程idf.py set-target esp32s2 menuconfig只需要选择LCD类型即可Example Configuration—>LCD version—>ILI9341编译,烧录即可看到示例程序效果...

2020-09-06 19:19:28 261

原创 环境搭建

下载esp-idfgit clone --recursive https://github.com/espressif/esp-idf.git设置工具cd esp-idf./install.sh设置环境变量. ./export.sh

2020-09-06 19:07:54 162

原创 Webbench

简介Webench是一款轻量级的网站测压工具,最多可以对网站模拟3w左右的并发请求,可以控制时间、是否使用缓存、是否等待服务器回复等等,且对中小型网站有明显的效果,基本上可以测出中小型网站的承受能力,对于大型的网站,如百度、淘宝这些巨型网站没有意义,因为其承受能力非常大。同时测试结果也受自身网速、以及自身主机的性能与内存的限制,性能好、内存大的主机可以模拟的并发就明显要多。Webbench能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webbench的标准测试可以向我们展示服务

2020-07-27 00:23:04 1572

原创 字符串复制比较

strcpy、strncpy、sprintf、snprintf、memcpy从以下几个方面对比:1.结束判断依据strcpy(A,B):当B遇到\0时,结束。并且\0会被复制到A中。但不会判断A的长度,所以需要自行确保len(A)>=len(B)strncpy(A,B,n):当B遇到\0或复制了n个字符时,结束。这个函数拷贝的是字符,不拷贝串,如果先遇到\0,则函数会把剩...

2019-11-10 13:45:05 746

转载 编写优质嵌入式C程序

https://blog.csdn.net/zhzht19861011/article/details/45508029

2019-06-25 00:24:53 117

转载 模式设计

https://www.runoob.com/design-pattern/visitor-pattern.html

2019-06-23 23:39:22 116

转载 lwip

http://blog.sina.com.cn/s/articlelist_1655200661_2_1.html

2019-04-25 23:54:32 177

原创 aes cbc加密

aes cbc加密,需要key、iv。都是16个字节明文必须是16的倍数,否则需要补齐密文和补齐后的明文长度相等

2019-02-28 23:52:38 955

原创 签名和加密的区别

RSA私钥加密数据,公钥解密数据,属于签名,因为公钥都有,私钥只有自己有,所以只能确认发送方有效公钥加密数据,私钥解密数据,属于加密,因为公钥都有,私钥只有自己有,所以只能自己解密...

2019-02-28 23:49:16 368

原创 进程和线程

区别:1、进程是操作系统资源分配的基本单位,线程是任务分配和调度的基本单位2、进程的所有的资源都是独立的,包括数据段、代码段、堆空间、栈空间。线程的大部分资源都是共享进程的资源,栈空间独立占用进程的内存空间3、所有的进程是独立的,所以进程奔溃不会影响其他进程,而线程是共享的进程资源,线程奔溃会导致整个进程奔溃4、线程是共享数据段,所以数据同步比较方便,而进程间通信比较麻烦5、进...

2018-11-21 00:11:53 128

原创 MD5,SHA,RSA,crc32,DES3,AES,BASE64的区别

MD5,SHA,crc32是不可逆的,没有密钥,一般用于数据完整性校验BASE64是可逆,没有密钥,一般用于编码数据,把不可见字符转换成可见字符RSA,DES3,AES是可逆的,有秘钥,用于加密...

2018-09-28 23:49:42 1582

转载 DES、AES、RSA的区别

BASE64:编码方式(8位字节代码),二进制与字符串相互转换 MD5:Message Algorithm(消息摘要算法第五版),散列函数(哈希算法)_不可逆,压缩性DES:Data Encrytion Standard(数据加密标准),对应算法是DEA             特点:1. 对称加密 2. 同一个SKAES:Advanced Encrytion Standard(高...

2018-08-20 11:42:26 8757 2

原创 格式化输出

-:表示左对齐,省略表示右对齐0:表示不足补0,省略表示补空格m.n:如果时输出浮点型,则m指域宽,n指精度。字符串的输出,n指所输出字符串个数,不足左补0...

2018-08-13 23:39:22 161

转载 程序设计六大原则

1.单一职责简单来说单一职责就是一个类只负责一个功能。更加具体的说就是对一个类而言,应该是一组相关性很高的函数、数据的封装,是高内聚低耦合的,对外界而言应该仅有一个引起它变化的原因。单一职责在项目中的使用:1.项目中的新手引导变量的管理可以统一在各自的Modle中用单独的类来管理2.MVP模式P层生命周期与V层生命周期的同步可以用单独的包装类来实现,3.各种基础框架功能的定义,...

2018-08-03 09:42:32 851 1

转载 数组指针和指针数组的区别

数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。 p=a;        //将该二...

2018-07-27 00:32:41 154

转载 程序内存管理 .bss .data .rodata .text stack heap

1.未初始化的全局变量(.bss段)bss段用来存放 没有被初始化 和 已经被初始化为0 的全局变量。如下例代码: 1 2 3 4 5 6 7 #include<stdio.h>   int bss_array[1024*1024]; int main(int argc, cha...

2018-07-26 23:18:06 298

转载 关于数组做为行参和实参

在函数声明中,如果有下面的写法: int func(int a[10]) { .... } 其中int a[10]的声明编译器自动处理为int *a 也就是说,在函数的形参列表里指定数组的成员个数是没有意义的,所以,你传入的实参究竟是比10多还是比10少对于调用函数而言都是合法的。 另外,你在函数的形参里指定数组的大小,编译器实际上并不给这个数组分配实际的空间,也就是说,形参里...

2018-07-26 12:31:57 1248

原创 GNU C 、ANSI C、标准C、标准c++区别和联系

GNU计划,又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。它在编写linux的时候自己制作了一个标准成为 GNU C标准。ANSI 美国国家标准协会,它对C做的标准ANSI C标准后来被国际标准协会接收成为 标准C 所以 ANSI C 和标准C是一个概念总体来说现在linux也支持标准C,以后标准C可以跨平台,而GUN...

2018-07-19 00:30:32 18033 1

转载 do...while(0)的妙用

do...while(0)的妙用在C++中,有三种类型的循环语句:for, while, 和do...while, 但是在一般应用中作循环时, 我们可能用for和while要多一些,do...while相对不受重视。但是,最近在读我们项目的代码时,却发现了do...while的一些十分聪明的用法,不是用来做循环,而是用作其他来提高代码的健壮性。1. do...while(0)消除goto...

2018-07-19 00:19:30 176

转载 GNU C中的零长度数组

在标准C和C++中,长度为0的数组是被禁止使用的。不过在GNU C中,存在一个非常奇怪的用法,那就是长度为0的数组,比如Array[0];很多人可能觉得不可思议,长度为0的数组是没有什么意义的,不过在这儿,它表示的完全是另外的一层意思,这个特性是不可移植的,所以,如果你致力于编写可移植,或者是稍稍需要跨平台的代码,这些Trick最好还是收起来的好。     在GNU的指南中,它是如此写道:...

2018-07-19 00:08:32 92

原创 UDP和TCP

UDP和TCP的区别TCP:基于连接的数据流模式,数据是有序的。需要三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制。在数据传完后会自动端口连接来节约系统资源,所以tcp的缺点:慢、效率低、占用资源高,因为有很多机制所以漏洞多容易被攻击UDP:无连接的数据报模式,数据是无序的。所以快、效率高、占用资源少,不容易被攻击,但当网络质量不好时,容易丢包。区别:TCP只能是点对点,而...

2018-07-14 20:05:04 300

原创 14-8-29

1、vim project插件   下载地址http://www.vim.org/scripts/script.php?script_id=69   安装:解压,将对应的文件移动到~/.vim 对应的plugin和doc目录 在vimrc中配置 "切换打开和关闭project窗口 nmap :Project  使用: 1、打开一个文件 2、按F7打开Project

2014-08-29 08:37:29 306

原创 14-8-28

1、val = fcntl(server_fd, F_GETFD);      val| = FD_CLOEXEC;      fcntl(server_fd, F_SETFD,val);3、supertab安装 下载  http://www.vim.org/scripts/script.php?script_id=1643 这个安装包跟先前的几个Vim插件不同,它是一个v

2014-08-28 08:52:40 312

原创 14-8-26

1、设置进程属性,不继承socket的内容       int val=fcntl(server_fd,F_GETFD);      val|=FD_CLOEXEC;      fcntl(server_fd,F_SETFD,val);2、select机制    三种状态:    1、以NULL作为时间结果,则select置于阻塞状态,一定要等到监视的文件描叙符发生变化为止

2014-08-26 12:31:47 355

原创 tcpdump移植到RT5350

libpcap-1.0.0 修改configure 在 if test $ac_cv_linux_vers = unknown ; then 行 把unknown改成内核版本号:2.6.21 $./configure --host=mipsel-linux --with-pcap=linux   (--host 填交叉编译器名  --with) maketcpdump-4.0.0

2014-08-19 19:13:05 656

空空如也

空空如也

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

TA关注的人

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