liwen01 2025.04.05 前言 随着物联网的发展,蓝牙已融入到我们生活的方方面面:手机、平板、手环、耳机、音响、智能灯泡、智能门铃、摄像机、冰箱、空调、洗衣机、血糖仪、键盘、鼠标等等。 关于蓝牙相关的芯片、协议栈、应用方案也因产品需求的不同而存在很大的差异,因而导致关于蓝牙相关的知识相对 ...
声明 本系列文章禁止搬运/转载至CSDN, 禁止基于内容衍生的任何收费行为!!! 请各位遵守开源免费之精神. 0.前言 在文章前, 为避免存在信息差和认知壁垒; 我先简单科普一下 keil5 在嵌入式开发中的底层逻辑,便于大家理解为什么要搞这么多操作去实现一个工程开发.(当然, 你也可以直接跳过, ...
参考资料: Hacking the Kindle Touch: http://www.tuicool.com/articles/Yruui2 kindle下开发: http://superbrain.cn/kindle%E4%B8%8B%E5%BC%80%E5%8F%91/ 安装交叉编译工具: su ...
1、前提 1.1、基础知识 1.1.1、GPIO 分类 ESP32 系列芯片按照 GPIO 特殊的使用限制分类,可以将其分为如下几类: GPIO PIN GPI PIN Strapping PIN SPI FLASH PIN 特殊功能引脚 GPIO 引脚 表示通用的输入输出引脚,无使用限制,可以随意 ...
根据官网说明,ROS2是支持MAC的,本来打算在手头的MAC 15.3.2装一个,虽然要自己编译ROS2系统,但是想着比虚拟机性能好,就兴冲冲的开始了,也没在意官网提示尽量还是装安装版。最后折腾了几天没有装上,果然是很多需要适配的地方,这个计划只能暂时搁置。 所以就先来看看ROS2 Jazzy的Ub ...
Linux线程信号响应 进程间通信中有种方案是通过信号通信,也就是一个进程可以向其他进程发送信号,如果接收到信号的进程中如果存在多条线程,请问是由哪条线程进行响应? 回答:由于多线程程序中的线程的执行状态是并发的,因此当一个进程收到一个信号时,那么由进程中的哪条线程响应这个信号就是不确定的,取决于哪 ...
Linux线程的调度策略 Linux系统中所有的程序得到运行都会变为一个进程(process),而进程中可能会存在一个或者多个任务(task),这些任务就以进程中的线程(thread)作为载体,所以线程就是系统调度的最小单位。 线程的调度策略 A. SCHED_OTHER SCHED_OTHER调度 ...
1、开发环境 对于 ESP32 系列芯片的开发环境主要有如下几种方式: ESP-IDF(Espressif IoT Development Framework) Arduino PlatformIO ESP-IDF 是 Espressif 官方推出的开发框架,本系列教程将围绕 ESP-IDF 开发环 ...
POSIX信号量 信号量的概念 信号量可以用于多个不同进程间或者同一个进程中多个不同线程间进行同步的方案,Linux系统提供了POSIX信号量和IPC对象中的信号量集供用户使用。 POSIX信号量一般用于描述一种共享资源的状态,Linux系统把POSIX信号量分为两种:一种是POSIX匿名信号量,另 ...
UTC时间转换的shell脚本 前言 摸鱼感想 昨天被UTC时间,系统时间的转换的代码绕得有点晕, 最后,不饶了,我当天的任务是搞一个嵌入式测试而已!!!开摆! 于是在网上找了半天没找到合适的时间转换函数,我 &……#@##!#(# 再然后,两个shell脚本就诞生了 上班写博客那不叫摸鱼,那叫技术 ...
正点原子ND1核辐射检测仪支持检测x,γ,β射线的辐射强度,高灵敏度J321盖革-米勒计数管,支持约100万个辐射值记录! ND1核辐射检测仪是正点原子最新推出的一款多功能核辐射检测仪,使用高灵敏度J321盖革-米勒计数管,支持检测x射线,γ射线,β射线的辐射强度。集成温湿度检测,时钟日历,闹钟,倒 ...
第十五章 GPTIMER实验 1)实验平台:正点原子DNESP32S3开发板 2)章节摘自【正点原子】ESP32-S3使用指南—IDF版 V1.6 3)购买链接:https://detail.tmall.com/item.htm?&id=768499342659 4)全套实验源码+手册+视频下载地址 ...
序 笔者在上网浏览时发现了这个项目[0]。刚好另一个DIY会需要对Attiny85进行烧写,并且感觉自己做一个USBasp来干这个事比较有趣,于是就买材料打板子准备DIY一个USBasp。这篇随笔是用来记录过程的,希望也能方便别的对此感兴趣的并且也想DIY的读者。 注意 笔者的电脑环境是Arch G ...
判断存储方式是大端存储还是小端存储 联合体(union)是C语言中的一种数据结构,允许不同类型变量共享同一段内存单元。通过覆盖技术实现内存复用,同一时间仅存储一个成员的值。用C语言可以判断存储方式。。 大端存储:低地址存储低字节 小端存储:低地址存储高字节 //判断是大端存储还是小端存储 //用户 ...
基于Qt 5.13.2的高性能CAN通信实现方案 1. 环境配置与依赖 # Qt工程配置(.pro文件) QT += core gui widgets serialbus CONFIG += c++17 LIBS += -lsocketcan # Linux平台需安装libsocketcan 2. ...
读写锁 对于互斥锁而言,凡是涉及临界资源的访问一律加锁,这在并发读操作的场景下会大量浪费时间。要想提高访问效率,就必须要将对资源的读写操作加以区分:读操作可以多任务并发执行,只有写操作才进行恰当的互斥。Linux系统就提供了一种读写锁。 (1)读写锁的初始化 pthread_rwlock_t rwl ...
总线单极性步进电机扩展板采用紧凑型设计,兼容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 ...
示例位于 \examples\peripherals\gpio\generic_gpio 文件夹内 GPIO示例逻辑简单,直接看代码理解。 /* GPIO示例 此示例代码位于公共域(或CC0许可,由您选择。) 除非适用法律要求或书面同意,否则本软件按“原样”分发,不作任何保证或 任何形式的条件,无论 ...