- 博客(18)
- 资源 (1)
- 收藏
- 关注
原创 LVGL 配置文件解释
#if 1 /* 设置为1,以启用内容 */#ifndef LV_CONF_H#define LV_CONF_H#include <stdint.h>/********************************************************************************* 颜色设置
2024-09-30 11:56:54
674
原创 STM32F407使用SPI协议读取ADXL345三轴加速度
1.相位和极性都配置为1。2.在对寄存器进行读时,地址高位为1;对寄存器进行写时地址高位为0。3.读取多字节时,次高位也要为1。
2024-09-12 17:48:38
657
原创 28BYJ-48步进电机
对于28BYJ-48步进电机,线圈通常标记为A、B、C和D。通过按不同的顺序给这些线圈通电,可以使电机以不同的步进模式移动。这些模式包括:单步模式(Single Step Mode):每次只通电一个线圈,电机会以较大的步距移动。双步模式(Double Step Mode):每次同时给两个相邻线圈通电,电机的步距更小,转矩也更大。半步模式(Half Step Mode):交替使用单步和双步模式,使电机能够以更小的步距移动,精度更高。
2024-08-29 17:16:09
307
原创 inux中 GPIO 相关操作函数 (GPIOd)
当对应的硬件中断发生时,内核会调用注册的处理程序。在设备树中,*-gpios 中的 * 代表的是你定义的 GPIO 名字(label)。这个名字可以是任何你指定的有意义的字符串,用于标识特定的 GPIO。-EINVAL:表示无效的参数,通常是因为传入的 desc 无效或没有对应的 IRQ。如果中断是独占的(即未使用 IRQF_SHARED 标志),这个参数可以为 NULL。这个值应该与在 request_irq 时传入的 irq 参数相同。成功时,返回一个正数,即对应的 IRQ 号。成功时: 返回 0。
2024-08-29 12:06:37
821
原创 Linux创建内核线程
struct;if!IS_ERR;;其中kthread_create()只是创建一个内核线程,但并没有启动,需要调用wake_up_process()来启动线程,所以内核又帮我们定义了一个宏kthread_run来帮我们搞定。内核线程创建成功后,会返回一个struct task_struct对象指针,方便我们的后续操作。
2024-08-28 16:05:29
449
原创 RTT 邮箱使用
******************************系统异常邮箱*******************************/8定义了8组邮箱。
2024-08-28 11:32:31
632
原创 事件集说明
事件是一种实现线程间通信的机制,主要用于实现线程间的同步,但事件通信只能是事件类型的通信,无数据传输。一个事件发生即是一个同步,事件集可以实现一对多(一个线程等待多个事件触发)、多对多(多个线程等待多个事件触发)的同步。其中,一个线程与多个事件的关系可以设为:特定事件触发唤醒线程其中任意一个事件触发唤醒线程几个事件都触发后才唤醒线程。
2024-08-28 10:58:48
372
原创 DHT11 协议解析
首先主机发送开始信号,即:拉低数据线,保持 t1(至少 18ms)时间,然后拉高数据线 t2(20-40us)时间,然后读取 DHT11 的响应,正常的话,DHT11 会拉低数据线,保持 t3 (40-50us)时间,作为响应信号,然后 DHT11 拉高数据线,保持 t4(40~50us)时间后,开始输出数据。
2024-08-23 22:20:35
296
原创 linux总线设备驱动模型
linux自带I2C、 SPI、 USB 等总线。但是在 SOC 中有些外设是没有总线这个概念的,但是又要使用总线、驱动和设备模型该怎么办呢?为了解决此问题, Linux 提出了 platform 这个虚拟总线,相应的就有 platform_driver 和 platform_device。Linux系统内核使用结构体表示总线match 函数有两个参数: dev 和 drv,这两个参数分别为 device 和 device_driver 类型,也就是设备和驱动。
2024-08-23 17:34:03
1551
原创 正则匹配初学
\S’ 匹配任意非空白字符,空格,制表符,换页符等 等价于[^ \t\r\n\f]‘\s’ 匹配任意空白字符,空格,制表符,换页符等 等价于[ \t\r\n\f]‘\w’ 匹配任意一个字母或数字,等价于[a-zA-Z0-9]‘\W’ 匹配任意非字母或数字,等价于[^a-zA-Z0-9]‘\D’ 匹配任意非数字字符,等价于[^0-9][a-zA-Z0-9] 匹配任意一个字母或数字。[a-z] 匹配小写a-z中的任意一个字符。[A-Z] 匹配大写A-Z中的任意一个字符。
2024-08-23 15:14:07
283
原创 Linux APP查询驱动的方式归类总
1、休眠与唤醒2、阻塞与非阻塞3、POLL机制4、异步通知等待队列用于进程等待条件,工作队列用于异步任务处理。
2024-08-23 10:48:25
2106
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人