esp-idf GPIO与GPIO中断 api详解 ESP32有10个内部电容式触摸传感器。这些传感器可以感知任何带有电荷的东西的变化,比如人的皮肤。因此,它们可以检测到用手指触摸GPIO时引起的变化。这些引脚可以很容易地集成到电容式焊盘中,并取代机械按钮。电容式触摸引脚还可以用来将ESP32从深度睡眠中唤醒。
stl容器vector笔记 std::vector 是封装动态数组的顺序容器。头文件#include 常见操作复杂度随机访问——常数 O(1)在末尾插入或移除元素——均摊常数 O(1)插入或移除元素——与到 vector 结尾的距离成线性 O(n)
C语言标准I/O 流是C语言对I/O操作的一种抽象,在C语言的I/O操作只是从程序移进或移出字节,这便是字节流。C程序中大多数流是全缓冲的,即写入数据时,程序先把数据放入缓存(buffer),等到缓存满了,再把里面的数据会一次性刷新(flush)到设备或磁盘文件。这时,缓存区就空了,程序再把新的数据放入缓存,重复整个过程。
Linux timerfd 获得定时器距离下次超时还剩下的时间,成功返回0,失败返回-1,并存储错误码到errno。如果调用时定时器已经到期且it_interval不为0,调用此函数之后定时器重新开始计时。启动或关闭fd对应的定时器,成功返回0,失败返回-1,并存储错误码到errno。timerfd是Linux提供的一个纳秒级的定时器文件,利用文件描述符fd操作。如果不为NULL,则用来存储当前时间。设置第一次超时时间和之后的超时周期。创建一个timer对象并返回。...
Linux时间相关C库函数 由UNIX内核提供的基本时间服务是国际标准时间公元1970年1月1日00:00:00以来经过的秒数。这种秒数是以数据类型 time_t表示的。我们称它们为日历时间,由函数time()内的系统调用获取。tm结构time_t和tm结构可通过下面的函数转换将time_t或tm表示成字符串,形如 “Wed Jun 30 21:49:08 1993”strftime函数根据 format 中定义的格式化规则,格式化结构 tm 表示的时间,并把它存储在s中。如果产生的字符串小于 size 个
Linux文件系统相关C函数 stat()函数获取文件信息stat结构体:st_mode如下表,其中15-12 位保存文件类型,11-9 位保存执行文件时设置的信息, 8-0 位保存文件访问权限粘住位(t位)sticky bit:现在的作用为若目录具有该位,则表示在此目录下的文件只能被该文件所有者、此目录所有者或root来删除或改名。POSIX中定义了检查这些文件类型的宏定义:utime()函数可用于修改文件最后读写的时间文件权限管理chmod更改文件权限 直接使用shell命令 chmod
C语言面试题笔记 解释 char *const*(*next)();定义了函数指针next,next指向了一个无参且返回值为一个指向一个常量指针的字符型指针的函数。解释 char* (*c[10])(int **p); 定义了函数指针数组c,c中的元素是指向参数为int型二级指针且返回值为字符型指针的函数的函数指针。以下代码的问题char*s = "AAA";printf("%s",s);s[0] = 'B';printf("%s",s);"AAA"为只读的字符串常量,修改它会引发段错误..
Makefile的简单使用方法(不详细) Makefile概述Makefile的规则示例变量符号说明示例概述Makefile是类似于shell的一种脚本文件,其描述了整个工程所有文件的编译顺序、编译规则,实现了“自动化编译”的效果,免去了手动编译时带来的麻烦,且在Makefile中可以使用系统shell所提供的任何命令来完成想要的工作。make是一个命令工具,它为Makefile脚本文件进行解释。当make 命令被执行时,它会扫描当前目录下Makefile找到目标以及其依赖。如果这些依赖自身也是目标,继续为这些依赖扫描Makefile
C语言FTP云盘项目 myftp功能代码头文件:用到的函数:服务端代码:客户端代码:测试客户端:服务端:功能客户端与服务端通过socket建立连接后,客户端发送命令,服务端完成相应服务命令:命令说明ls查看服务端文件pwd查看服务端路径cd服务端切换目录myls查看本地文件mypwd查看本地路径mycd本地切换目录get从服务端下载文件到本地put上传文件到服务端quit客户端退出代码头文件:myftp.h#ifn
51单片机驱动红外编解码模块(YS-IRTM) 红外编解码模块YS-IRTM模块模块组成模块通信发射指令说明:模块反馈解码信息输出51单片机测试代码YS-IRTM模块这个模块在某宝非常容易买到,内置刷好了固件的单片机,串口给指令就能直接发射NEC红外信号,用串口助手调试非常方便模块组成红外发射头:用于发射红外信号, 波长为940nm 38k NEC编码信号的发射红外接收头:用于接收 NEC 红外信号, 进而单片机进行分析解码操作红外头扩展: 该接口为红外发射头的扩展, 可以连接多个红外发射头( 常称红外发射模块) , 用于安放到不同
基于树莓派的智能家居程序设计 智能家居概述设备文件指令文件主函数概述为编程方便,使用WiringPi库函数对gpio引脚控制,通过语音模块和socket来接收命令,每一个设备放在一个单独的文件里,通过头文件提供的api供主函数调用,语音和socket同理。把若干设备和指令分别用链表连接起来,方便查找。设备链表:pdevHead > light1 > light2 > light3 > light4 > fire > beep > dh11 > NULL指令链表:pcmdHead