刷新
ESP-IDF教程2 GPIO - 输入、输出和中断

博主头像 1、前提 1.1、基础知识 1.1.1、GPIO 分类 ESP32 系列芯片按照 GPIO 特殊的使用限制分类,可以将其分为如下几类: GPIO PIN GPI PIN Strapping PIN SPI FLASH PIN 特殊功能引脚 GPIO 引脚 表示通用的输入输出引脚,无使用限制,可以随意 ...

机器人操作系统ROS2之安装(Ubuntu 24)

博主头像 根据官网说明,ROS2是支持MAC的,本来打算在手头的MAC 15.3.2装一个,虽然要自己编译ROS2系统,但是想着比虚拟机性能好,就兴冲冲的开始了,也没在意官网提示尽量还是装安装版。最后折腾了几天没有装上,果然是很多需要适配的地方,这个计划只能暂时搁置。 所以就先来看看ROS2 Jazzy的Ub ...

Linux线程信号的响应

Linux线程信号响应 进程间通信中有种方案是通过信号通信,也就是一个进程可以向其他进程发送信号,如果接收到信号的进程中如果存在多条线程,请问是由哪条线程进行响应? 回答:由于多线程程序中的线程的执行状态是并发的,因此当一个进程收到一个信号时,那么由进程中的哪条线程响应这个信号就是不确定的,取决于哪 ...

Linux线程的调度策略

Linux线程的调度策略 Linux系统中所有的程序得到运行都会变为一个进程(process),而进程中可能会存在一个或者多个任务(task),这些任务就以进程中的线程(thread)作为载体,所以线程就是系统调度的最小单位。 线程的调度策略 A. SCHED_OTHER SCHED_OTHER调度 ...

ESP-IDF教程1 开发环境

博主头像 1、开发环境 对于 ESP32 系列芯片的开发环境主要有如下几种方式: ESP-IDF(Espressif IoT Development Framework) Arduino PlatformIO ESP-IDF 是 Espressif 官方推出的开发框架,本系列教程将围绕 ESP-IDF 开发环 ...

POSIX信号量

POSIX信号量 信号量的概念 信号量可以用于多个不同进程间或者同一个进程中多个不同线程间进行同步的方案,Linux系统提供了POSIX信号量和IPC对象中的信号量集供用户使用。 POSIX信号量一般用于描述一种共享资源的状态,Linux系统把POSIX信号量分为两种:一种是POSIX匿名信号量,另 ...

UTC时间与正常时间相互转换的shell脚本

博主头像 UTC时间转换的shell脚本 前言 摸鱼感想 昨天被UTC时间,系统时间的转换的代码绕得有点晕, 最后,不饶了,我当天的任务是搞一个嵌入式测试而已!!!开摆! 于是在网上找了半天没找到合适的时间转换函数,我 &……#@##!#(# 再然后,两个shell脚本就诞生了 上班写博客那不叫摸鱼,那叫技术 ...

正点原子ND1核辐射检测仪支持检测x,γ,β射线的辐射强度,高灵敏度J321盖革-米勒计数管,支持约100万个辐射值记录!

博主头像 正点原子ND1核辐射检测仪支持检测x,γ,β射线的辐射强度,高灵敏度J321盖革-米勒计数管,支持约100万个辐射值记录! ND1核辐射检测仪是正点原子最新推出的一款多功能核辐射检测仪,使用高灵敏度J321盖革-米勒计数管,支持检测x射线,γ射线,β射线的辐射强度。集成温湿度检测,时钟日历,闹钟,倒 ...

DIY记录之 USBasp

博主头像 序 笔者在上网浏览时发现了这个项目[0]。刚好另一个DIY会需要对Attiny85进行烧写,并且感觉自己做一个USBasp来干这个事比较有趣,于是就买材料打板子准备DIY一个USBasp。这篇随笔是用来记录过程的,希望也能方便别的对此感兴趣的并且也想DIY的读者。 注意 笔者的电脑环境是Arch G ...

判断是大端存储还是小端存储

判断存储方式是大端存储还是小端存储 联合体(union)是C语言中的一种数据结构‌,允许不同类型变量共享同一段内存单元。通过覆盖技术实现内存复用,同一时间仅存储一个成员的值。用C语言可以判断存储方式。。 大端存储:低地址存储低字节 小端存储:低地址存储高字节 //判断是大端存储还是小端存储 //用户 ...

读写锁

读写锁 对于互斥锁而言,凡是涉及临界资源的访问一律加锁,这在并发读操作的场景下会大量浪费时间。要想提高访问效率,就必须要将对资源的读写操作加以区分:读操作可以多任务并发执行,只有写操作才进行恰当的互斥。Linux系统就提供了一种读写锁。 (1)读写锁的初始化 pthread_rwlock_t rwl ...

【电子DIY神器】通吃各种5线步进电机!I2C接口控制28BYJ-48五线四相步进电机

博主头像 总线单极性步进电机扩展板采用紧凑型设计,兼容XIAO系列主控板直连或独立使用,支持级联16个模块。板载ULN2003达林顿管驱动芯片(单通道500mA/整片2.5A),可适配28BYJ-48等5线4相步进电机(5-24V宽压供电),提供单步/全步/半步三种驱动模式,配备双固态电容稳压、防反接保护和可... ...

串口通信

博主头像 串口通信 1.0 电平通信标准(物理层) 1.1 TTL 特点: 容易受到电磁干扰 传输距离短(板级设备间通信 <0.5米) 全双工通信 输出电平 1: 2.4V ~ 5V(3.3V) 0:0V ~ 0.4V 异常:0.4 ~ 2.4V 输入电平 1: 2.0V ~ 5V(3.3V) 0:0V ~ ...

线程的属性

线程的属性练习 设计一个程序,要求在程序中创建两条子线程,主线程创建一个线程的属性对象,并对线程的属性对象进行初始化之后,要求创建的子线程的属性设置为分离属性,子线程A输出”hello”,子线程B输出”world”,主线程创建子线程之后就终止。 #include <pthread.h> #inclu ...

ESP32系列,IDF官方实例——外设:通用GPIO

博主头像 示例位于 \examples\peripherals\gpio\generic_gpio 文件夹内 GPIO示例逻辑简单,直接看代码理解。 /* GPIO示例 此示例代码位于公共域(或CC0许可,由您选择。) 除非适用法律要求或书面同意,否则本软件按“原样”分发,不作任何保证或 任何形式的条件,无论 ...

ARM Cortex-M3/M4初学习(未完待续)

博主头像 ARM Cortex-M3/M4初学习 0. 架构与核心特性 0.1 指令集架构 基于ARMv7-M架构,支持Thumb-2指令集(混合16/32位指令集) 基于哈佛架构,数据和指令分布存储在独立的空间中 0.2 流水线 三级流水线: 取值(Fetch) - 译码(Decode) - 执行(Exec ...

[rCore学习笔记 032] 管理SV39多级页表

博主头像 上一节:硬件 本节:软件实现 物理页帧管理 内核->空闲内存->物理页帧->分配->存放 可用物理页的分配和回收 Link文件中关于操作系统bin文件的内存设计 内容os\src\linker-qemu.ld: OUTPUT_ARCH(riscv) ENTRY(_start) BASE_ADDRES ...

PID算法及其优化

博主头像 PID算法及其优化 1. 经典PID公式 位置式PID公式 增量式PID公式 PID适用范围: 线性时不变低阶(二阶及以下)控制系统,当然可以通过一些优化来一定程度上解决非线性和将高阶系统简化至二阶以下 1.1 离散位置式PID公式 u(k) = P * error_now + I * error_ ...