刷新
一种基于openmv和触摸屏的动态读取颜色的解决方案

博主头像 一种基于openmv和触摸屏的动态读取颜色的解决方案 前言: ​ 作为大学生电子设计竞赛控制题选手,常常需要与视觉上位机打交道,openmv作为当前一种开源方案,能够以较低的成本制作,并且官方文档和各种教程丰富,但是苦于光照的影响,程序中预定的阈值往往会出现误差,导致完美运行的工程就此崩塌,故博主以 ...

信号量

信号量 一、信号量的概念 Linux系统提供了一种名称叫做信号量(Semaphore)的IPC资源,信号量的英文也可以翻译为信号灯,信号量本质上其实是一个数字(非负整数),用来表示一种资源的数量,当多个进程或者线程争夺这些稀缺资源的时候,可以使用信号量来保证他们合理地、秩序地使用这些资源。 Linu ...

共享内存

共享内存 一、共享内存的概念 共享内存是Linux系统进程间通信的一种方式,是在Unix系统的system-V版本引入的一种IPC对象,除了共享内存外,其他的IPC对象还包含消息队列、信号量组。 共享内存其实就是指多个进程可以共享物理内存中的同一段内存区域,只不过还需要把物理内存映射到进程的私有虚拟 ...

【ESP32】两种模拟 USB 鼠标的方法

博主头像 上一篇水文中,老周给大伙伴们扯了关于 idf 中添加自定义 Arduino 组件的方案。这次咱们做一下 USB 鼠标玩玩。 很遗憾的是,老周无能,在 Arduino-esp32 组件依赖 TinyUSB 组件时无法进行编译,不管怎么配置都会找不到 tusb.h 文件;就算把 tinyUSB 内置到 ...

消息队列

消息队列 一、消息队列的概念 Linux系统中消息队列(Message Queue)是进程间通信的一种方式,这种通信机制的好处是可以传输指定类型(用户可以自行定义)的数据,相同类型的数据根据到达顺序在队列中进行排队。 当然,不同类型的数据不能处于同一个队列中,也就是说系统中可能存在多个消息队列,每个 ...

信号通信

信号通信 信号的概念 信号(英文翻译为signal)是Unix系统、类Unix系统(比如Linux系统)以及其他POSIX兼容的操作系统中用于实现进程间通信的一种方式。信号采用的是一种异步通信机制。 同步通信:同步指的是当进程发起一个请求,但是该请求并未马上响应,则进程就会阻塞等待,直到请求被响应。 ...

管道通信

管道通信 Linux系统提供了一种通信方式,名字叫做管道通信,顾名思义,管道是单向的,比如水管、燃气管道等,换个说法就是管道是采用半双工通信的,也就是同一时刻只能完成发送数据或者接收数据。 匿名管道 用匿名管道实现,创建匿名管道,在子进程中将I am child,hello!!!写入管道,在父进程中 ...

[rCore学习笔记 025 extend] 带优先级的抢占式调度

博主头像 引言 因为rcore并非设计为一个rtos,而是在我们需要的时候我们需要在设计的时候考虑到线程切换的时候的延时问题. 回顾上一部分的使用环形队列进行调度的方式,我们会发现我们寻找下一个Ready的任务的时间是不均匀的. 并且我们的任务是没有优先级的,可以认为是平权的,因此,为了: 快速且时间均匀地找 ...

LCD1602 单片机上代码的实现和代码结构的分析

博主头像 1、单片机引脚和设备引脚之间的通信 LCD1602使用并口与单片机进行通信,主要包括D0-D7 8个数据线和3根控制线(RS(指令和数据寄存器的区分),R/W(读写控制引脚),E(开始读写引脚,理解为串行总线的时钟线))。设备可以被配置为使用4线或8线数据宽度的数据线通信(实现方式为刚开始的几个配置 ...

Ymodem协议

博主头像 Ymodem协议 0. 文件传输协议概述 ​ 在进行文件传输时,为使文件能被正确识别和传送,需要在两台计算机之间建立统一的传输协议,协议需要包括了文件的识别、传送的起止时间、错误的判断与纠正等内容。常用的文件传输协议有: ASCII:传输速度快最快,但只能传送文本文件。 Xmodem:协议古老悠久, ...

STM32串口缓冲区

博主头像 在嵌入式开发中,外设通信(如UART、SPI、I2C)的数据接收常面临两大挑战:不定时、不定量数据的实时处理和高频率数据流下的稳定性保障。传统的轮询方式效率低下,而中断驱动的接收逻辑又容易因处理延迟导致数据丢失。 本文提出了一种基于STM32 HAL库的轻量级环形缓冲区解决方案! 已解决 非阻塞数据 ...

【Esp32】为 idf 定制本地 Arduino 组件

博主头像 在开始今天的水文前,老周先要奉劝一下国内某些嵌入式砖家和穴者,不要看不起 Arduino,它不是一种开发板,而是一种规范。Arduino 的思想是正确的,把各种开发板封装为统一的 API,让许多开源库共享相同的基础代码,严重降低了移植成本。Arduino 本质上使用的是 C/C++ 开发,只是统一了 ...

I2C总线协议

博主头像 IIC总线协议 1.0IIC总线结构 数据线SDA:传输数据 时钟线SCL:同步时钟 总线每个上每个器件地址唯一 总线上数据的传输速率(波特率) 在标准模式 (Sm ) 下可达 100 kbit/s 在快速模式 (Fm ) 下可达 400 kbit/s 在快速增强模式 (Fm+) 下可达 1 Mbi ...

痞子衡嵌入式:记录为i.MXRT1060更换较大容量Flash(IS25LP064A_IS25LP128F)导致二级App异常启动问题解决全过程(上篇)

博主头像 大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是为i.MXRT1060更换较大容量Flash导致二级App异常启动问题。 痞子衡最近在支持一个 RT1062 国外客户项目,客户在项目预研阶段为 RT1062 搭配的启动 Flash 是较小容量 IS25LP064A,接近量产的时候需要 ...

123···19>