
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
白话点说,通信协议就是通信时候双方约定的规则。打个类比,就像你跟另外一个人交流,你们之间需要一种交流的约定,就是语言。要么都说中文,要么都说英文。通信协议就类似于硬件之间交流的语言。
这个是锁以及一些信号量之类的内容后面还会更用法,其目的就是资源分配,大家应该有死锁的基本概念,就是两个任务各自占有对方想要的资源但是两个任务一不愿意放手目前手中的资源,二想抢夺对方手里的资源好让自己运行下去而导致两个任务都停滞的情况,这些东西存在的目地基本就是避免这些情况的,合理高效分配内部资源用的。这里的任务创建使用了xTaskCreate函数,它一般在单核上使用,由于ESP32是双核的,接下来
首先来认识一下按键延时消抖,按键由于是机械结构,按下的时候难免产生抖动,一般抖动会在按下的时候与松开的时候产生,抖动时间大概是10ms,通常我们手动按键然后释放,这个动作中稳定闭合的时间超过了20ms。软件去抖的具体方法是:当判断有按键按下时,程序延时一段时间,跳过这个抖动区域,之后再检测按键状态。下面的代码是对按键按下的典型判断语句,先判断KEY的值是否为0,如果为0则延时10ms,然后再次读取

对于IIC接口的OLED,需要在程序中指定一下引脚的接口定义,如果是SPI接口,可以参考U8g2库自带例程中SPI接口是使用方法。使用U8g2库进行OLED的显示十分简单,首先要包含两个库,U8g2lib和Wire,后者是IIC通信需要用。,如果你设置setCursor(0, 0),字符串实际是到屏幕外面了,不会显示!字符串的显示,可以使用drawStr函数,也可以使用通用风格的print函数。椭
计数的,就例如定时器,就是不断的往寄存器里面+1,直到加到寄存器的值溢出了,要么停止计数退出计数,要么重置继续计数。移位寄存器中的数据可以在移位脉冲作用下依次逐位右移或左移,数据既可以并行输入、并行输出,也可以串行输入、串行输出,还可以并行输入、串行输出,或串行输入、并行输出,十分灵活,用途也很广。该位由软件置位和清零。T0被允许计数以后,从初值开始加1计数,当最高位产生溢出时,由硬件置“1”TF
简单来讲arduino就是通过源代码控制开发板的信号输入输出从而实现对一些电子元件的控制,例如LED灯,蜂鸣器,按键arduino程序首先来讲arduino程序是基于C语言,而实现类似对于LED灯和蜂鸣器的简单控制只需简单C语言知识即可实现。arduino程序是基于函数的,而在arduino的库有很多函数,我们只需要调用即可。arduino的程序主体是**setup()函数和loop()**函数以








