Linux驱动使用高精度定时器控制LED亮度
2025-03-27
Linux hrtimer(高分辨率定时器)是Linux内核提供的一种高精度定时机制,用于支持微秒(μs)甚至纳秒(ns)级别的定时操作,相比传统的定时器(如timer_list
)具有更高的精度和灵活性...
2025-03-27
Linux hrtimer(高分辨率定时器)是Linux内核提供的一种高精度定时机制,用于支持微秒(μs)甚至纳秒(ns)级别的定时操作,相比传统的定时器(如timer_list
)具有更高的精度和灵活性...
2025-03-26
在Linux内核的struct platform_driver
驱动结构中,id_table
和of_match_table
都用于驱动与设备的匹配,但它们的用途和工作方式有所不同...
2025-03-26
在Linux内核中,struct pwm_device
是用于描述和管理PWM(脉冲宽度调制)设备的核心数据结构。它通常定义在include/linux/pwm.h
中,主要作用是为PWM控制器(硬件)和消费者(驱动)之间提供统一的抽象接口...
2025-03-25
struct tasklet_struct
是Linux内核中用于实现"小任务"(tasklet)机制的数据结构。Tasklet是一种底层的延迟执行机制,常用于中断处理的下半部(Bottom Half)...
2025-03-25
struct work_struct
是Linux内核中用于实现延迟工作(deferred work)机制的重要数据结构,属于工作队列(workqueue)子系统的一部分...
2025-03-24
struct input_dev
是Linux内核中用于表示输入设备的数据结构,定义在<linux/input.h>
头文件中。它用于管理和描述输入设备(如键盘、鼠标、触摸屏等)及其事件...
2025-03-16
DMA(直接内存访问,Direct Memory Access)是一种允许硬件设备直接访问系统内存的技术,无需通过CPU的干预。它主要用于提高数据传输效率,减少CPU的负担...
2025-03-13
在Linux内核中,miscdevice是一种用于简化字符设备驱动注册的机制。它适用于那些不需要主设备号的简单设备驱动。miscdevice使用一个固定的主设备号(10)...
2025-03-12
很好奇I2C设备是如何与驱动进行匹配的吧?一般是通过设备树文件来描述I2C从设备的信息,例如名称和地址等。驱动通过和名称与从设备进行匹配...
2025-03-12
监听GPIO引脚变化是嵌入式开发的基础知识。在Linux驱动中监听GPIO电平变化也是很方便的。下面的例子就演示了如何监听GPIO引脚电平变化...
2025-03-11
GPIO引脚控制是嵌入式开发的基础知识。在Linux驱动中控制GPIO也是很方便的。下面的例子就演示了如何初始化GPIO引脚,并获取和设置GPIO引脚电位...
2025-03-11
SPI是嵌入式开发中常用的一个通信协议,下面的例子给大家演示如何使用IIO子系统来和SPI设备进行通信,并获取设备的信息...
2025-03-10
Industrial I/O (IIO)是 Linux 内核中的一个子系统,专为处理工业应用中的模拟数字转换器(ADC)、数字模拟转换器(DAC)、惯性测量单元(IMU)、光传感器、压力传感器等设备而设计...
2025-03-09
串口通信是嵌入式开发的常用通信方式之一。下面就给大家演示一下,如何使用Linux驱动来进行串口通信?下面的例子主要实现了串口通信回显功能...
2025-03-09
i2c
是嵌入式开发的常用协议,下面我们学习通过Linux驱动来读写i2c
设备的数据。通过设备树来获取i2c
的信息,使用Linux内核的i2c
子系统提供的接口来控制读写数据...
2025-03-08
点亮第一个LED灯是嵌入式开发的Hello World
程序。下面我们学习通过Linux驱动来点亮LED灯。通过设备树来获取LED的信息,使用Linux内核的GPIO子系统提供的接口来控制LED灯...
2025-03-07
进行嵌入式开发的主流方法是使用设备树文件添加设备信息,驱动通过获取设备信息对设备进行操作。下面将演示如何写一个设备树插件文件和驱动代码...
2025-03-06
进行嵌入式开发一般都需要嵌入式开发板,但是购买嵌入式板需要一定费用。对于初学者也不知道选择哪种类型的嵌入式板才比较合适...