
小贴士合集【十一月】
2023/11/1 DAC(一)

2023/11/2 DAC(二)

2023/11/3 初识IIC
- 上拉电阻:将一个不确定的信号(高或低电平),通过一个电阻与电源VCC相连,固定在高电平。
- 下拉电阻:将一个不确定的信号(高或低电平),通过一个电阻与地GND相连,固定在低电平。
上下拉电阻保证数据的稳定性,减少干扰 - IIC通信 iic一共有两根线: 一条是双向的串行数据线SDA(Serial data),一条是串行时钟线SCL(Serial clock line)
通常把IIC设备分为主设备和从设备,谁控制时钟线,谁就是主设备
2023/11/4 IIC基本协议

2023/11/5 IIC主机发送数据

2023/11/6 IIC主机接收数据

2023/11/7 通信中地址的作用
每一类芯片都有一个独有的7位地址,用于区分不同类型的芯片
在通信时,主机根据从机的地址,与指定从机进行通信。
在起始信号发出后,主机立即发送一个字节,即七位从机地址+一位读写位R/W(表示进行读取还是写入从机数据),
从机应答后,随后再发送一个字节,用于具体指定读/写从机哪个寄存器
从机再次应答后,才发送所需要传输的数据
2023/11/8 GPIO输入模式

2023/11/9 GPIO输出模式
- 开漏输出
当单片机内部输出高电平,则引脚输出表现出高阻态(极大的电阻,相当于断路);
当单片机内部输出低电平,则引脚正常输出低电平 - 推挽输出
当单片机内部输出高电平,则引脚输出高电平
当单片机内部输出低电平,则引脚输出低电平 - 复用推挽/开漏输出
功能同推挽/开漏输出,但由单片机的片上外设(如IIC,串口等)控制输出高低电平
2023/11/10 施密特触发器

2023/11/11 计算机接口(一)

2023/11/12 第一次摸鱼
2023/11/13 计算机接口(二)

2023/11/14 串口通信

2023/11/15 串口数据传输
- 波特率:指串口通信传输数据的速度
- 起始位:标志一帧数据传输的开始,固定为低电平
- 数据位: 传输8位数据,即一个字节,数据用高低电平1/0表示
- 校验位:检验传输数据过程中,数据是否错乱
校验位分为三种:
① 无校验:不需要校验位
② 奇校验:发送方根据8位数据中1的个数设置校验位,若发送的1的个数为偶数,则将校验位设置为1;
若发送的1的个数已经为奇数,则将校验位设置为0。总之,保证发送的数据中有奇数个1。
③ 偶校验:保证发送的数据中有偶数个1 - 停止位:标志一帧数据传输的结束,固定为高电平
通信设备双方需要提前设置好校验方式,接收方需要根据对应的校验方式,对1的个数进行判断,若1的个数无误,则传输正确。若1的个数不对,则说明数据异常(注:如出现多个数据同时异常,奇偶校验的方式则可能误判)
所以串口通信中,一帧数据总共为10~11位(根据有无校验位)
2023/11/16 第二次摸鱼
2023/11/17 SPI通信
不同于iic,串口的另一种通信方式。
通信引脚如下:
- SCK:时钟线
- MOSI:固定主机配置为数据输出脚,从机配置为数据输入脚
- MISO:固定主机配置为数据输入脚,从机配置为数据输出脚
- SS:控制与哪个从机通信,通常是低电平有效信号。

2023/11/18 SPI通信优缺点
SPI的优点
- 全双工通信(指可以同时发送和接收数据),因为有分离的MOSI和MISO分别负责数据输出和输入;
- 高速数据传输速率(约为iic的2倍)。
- 极其灵活的数据传输,不限于8位,它可以是任意长度;
SPI的缺点
- 需要更多的引脚,使用四根信号线(I2C和串口只使用两根信号线);
- 传输数据只能支持非常短的距离;
- 没有任何形式的错误检查,如串口(UART)中的奇偶校验
2023/11/19 通信协议总结

2023/11/20 硬件加速
通常计算机内部数据处理都是在CPU(中央处理器)中进行的,处理的数据过多会导致CPU处理效率低下。
利用电脑的其他硬件设备,分担CPU的一部分任务,降低CPU使用率,从而达到硬件加速的目的。
常见的硬件加速设备如下:
1: GPU(图形处理器):计算机的图形化界面越来越丰富,图形的处理过程中会有大量矩阵计算,对于CPU来说,其实并不适合于矩阵的计算,所以专门设计了GPU来进行图像的处理。例如使用英伟达的CUDA或OpenCL将计算任务从CPU转移到GPU上执行,实现硬件加速。
2: FPGA(现场可编程门阵列):使用可重新编程的FPGA芯片来实现硬件加速。FPGA可以根据特定应用的需求重新配置硬件电路,从而提供最佳的加速功能。
3: AI加速器:针对人工智能和机器学习任务设计的专用加速器,如Google的TPU或NVIDIA的深度学习加速器等,以加速神经网络训练和推理任务。
2023/11/21 树莓派pico之PIO
我们看这个代码
print(“hello”)
我们不必关心单片机存储数据的方式,或者如何产生时钟信号等,代码的处理会在cpu中运行,但是处理速度受限于时钟信号发生频率。
然而,当我们使用pico上可编程输入和输出(PIO)时,我们可以在更低的水平上处理代码,实现的硬件加速,比如,高速的位操作、精确的时序控制等,在性能上可以达到很高的水平,使得某些操作的执行速度提升数十倍甚至上百倍。PIO是Pico比其他单片机真正具有优势的地方。
2023/11/22 看门狗
单片机一切正常,看门狗就不会叫,一旦出现异常,就会狗叫(dog)
回到正题,看门狗是用来监测单片机运行状态和解决程序引起的故障的。
单片机在外界的干扰下,可能会出现程序出错导致出现死循环,看门狗的作用就是防止这种情况。
单片机程序启动后,有一个定时器会开始倒计时,当定时器为0时,会给单片机CPU发送复位信号,CPU可以让看门狗定时器重置,简称“喂狗”,看门狗等待下一次投喂。
如果时间到后还不去喂狗(表示单片机已经挂了),定时器就会溢出,引起看门狗中断,造成系统复位重启。
2023/11/23 主流的操作系统
- Windows操作系统
优点:软件丰富,软件兼容性好,门槛相对较低,易用,对普通用户友好,对游戏与显卡的支持比较好,界面UI做的很好。
缺点:不开源、木马病毒较多、安全性较差。 - Linux操作系统
Linux是一套免费使用和自由传播的操作系统, 常用Linux发行版操作系统有Ubuntu、CentOS等,是开源的操作系统。
优点:系统稳定性与流畅度高、安全性高、开源、系统的漏洞更容易被发现和修补 。
缺点:软件兼容性差,如果不熟知Linux命令,使用比较难。 - macOS操作系统
优点:UI更美、界面简约美观、无广告、高效、效率高。
缺点:macOS系统不开源,贵。