自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 SPI驱动(九) -- SPI_Master驱动程序

SPI控制器的作用是发起与它下面挂接的SPI设备之间的数据传输,那么控制器驱动程序的核心就是实现与设备之间的数据传输过程。在内核中,SPI传输的最小单位是,对于一个设备,可以发起多个。这些,会放入一个里面。每个SPI设备都有一个自己的,同一个spi_master下的,放在一个队里。spi_transfer:指定tx_buf、rx_buf、len...同一个SPI设备的spi_transfer,使用spi_message来管理://管理spi_transfer...

2025-03-18 23:04:39 278

原创 SPI驱动(八) -- SPI_DAC设备驱动程序

确认最大时钟频率:参看芯片手册。

2025-03-15 21:13:15 282

原创 SPI驱动(七) -- 编写SPI设备驱动程序

SPI控制器驱动基于"平台总线设备驱动"模型实现,SPI设备驱动基于"SPI总线设备驱动"模型实现,SPI驱动分为SPI控制器驱动和SPI设备驱动。使用 .c 文件实现,二者匹配成功后,调用。结构体,并且解析设备树的spi子节点,生成。来自设备树(由SPI控制器驱动解析完成),SPI设备的设备树节点会被转换为一个。下面介绍SPI设备驱动的编写过程。函数会分配、设置、注册一个。结构体,我们需要编写一个。使用 .c 文件实现。结构体描述一个传输,用。中的链表来链接在一起。在SPI子系统中,用。

2025-03-12 23:07:23 236

原创 SPI驱动(六) -- SPI_OLED上机实验(使用spidev)

要操作OLED,只需使用SPI接口发送数据,并不需要使用SPI接口读取数据。想让OLED显示内容,首先需要初始化OLED模块,接着设置现存地址,最后往现存写入数据。DC引脚使用GPIO4_20,不过只需要在APP里直接控制DC引脚,无需在设备树里指定。,要写某个字节时,需要先指定地址(哪个page,哪个col),然后写入1字节的数据。:每写入1个字节,行地址不变,列地址增1,列地址达到127后会从0开始。让DC引脚为高,发起SPI写操作即可。对于OLED的初始化,在参考手册。表示把它编译为模块。

2025-03-09 23:14:06 968

原创 SPI驱动(五) -- SPI_DAC上机实验(使用spidev)

本文介绍基于spidev驱动的SPI_DAC设备上机实验。

2025-03-08 22:56:32 1008

原创 SPI驱动(四) -- 万能驱动spidev.c分析

本文介绍分析了万能驱动spidev.c。

2025-03-08 12:26:43 601

原创 SPI驱动(三) -- SPI设备树处理过程

本文介绍分析了SPI设备树及其处理过程。

2025-03-05 23:45:11 1030

原创 SPI驱动(二) -- SPI驱动程序模型

本文描述了SPI驱动程序模型。

2025-03-05 15:44:07 843

原创 SPI驱动(一) -- SPI协议

本文简要介绍了SPI协议,根据 CPOL 和 CPHA 的值,可以组成4中不同工作模式。

2025-03-04 22:43:11 806

原创 I2C驱动(十二) -- 主控芯片的i2c_adapter驱动分析

本文分析介绍主控芯片的i2c_adapter驱动程序。

2025-03-03 23:15:12 973

原创 I2C驱动(十一) -- gpio模拟的i2c总线驱动i2c-gpio.c分析

本文分析介绍gpio模拟的i2c总线驱动程序i2c-gpio.c。

2025-03-02 23:45:14 1022

原创 I2C驱动(十) -- i2c_adapter控制器驱动完善与上机实验

本文对虚拟i2c_adapter驱动进行完善,并模拟一个eeprom设备进行上机实验。

2025-03-02 18:05:10 1336

原创 I2C驱动(九) -- i2c_adapter控制器驱动框架编写

本文介绍了i2c_adapter的结构和编写步骤,并编写了驱动框架。

2025-03-01 22:44:41 890

原创 I2C驱动(八)--编写I2C设备驱动之i2c_client

本文介绍了i2c_client的几种生成方式。

2025-03-01 17:51:16 760

原创 数据结构--队列(C语言实现)

队列(Queue)是一种常见的数据结构,遵循“先进先出”(FIFO, First In First Out)的原则。队列的应用非常广泛,例如任务调度、缓冲区管理、广度优先搜索等。队列通常支持以下几种基本操作入队(enqueue):将元素添加到队列的末尾。出队(dequeue):移除队列的第一个元素,并返回它。查看队首元素(getHead):返回队列的第一个元素,但不移除它。判断队列是否为空(IsEmpty):检查队列是否为空。判断队列是否满了(IsFull):对于固定大小的队列。

2025-02-26 20:04:28 732

原创 I2C驱动(七)--编写I2C设备驱动之i2c_driver

本文介绍了i2c_driver驱动的编写方法,并以ap3216c芯片为例,实现对其红外、光强、距离数据的读取。

2025-02-25 19:38:10 1058

原创 数据结构--栈(C语言实现)

栈(Stack)是一种常见的数据结构,它遵循“后进先出”(LIFO, Last In First Out)的原则。栈是一种线性数据结构,它只允许在一端进行插入和删除操作。这一端被称为栈顶(Top),另一端被称为栈底(Bottom)。Push:将元素压入栈顶。Pop:将栈顶元素弹出。getTop:查看栈顶元素,但不弹出。IsEmpty:判断栈是否为空。IsFull:判断栈是否已满(对于固定大小的栈)。栈是一种简单但非常有用的数据结构,它在许多算法和程序设计中都有广泛的应用。

2025-02-25 10:38:35 539

原创 I2C驱动(六)--I2C驱动程序模型

本文讲述了I2C驱动的总线-设备-驱动模型。

2025-02-24 18:00:00 844

原创 数据结构--双向链表(C语言实现)

单链表的节点中只有一个指向直接后继的指针域。因此,从某个结点出发只能顺指针向后寻查其他节点。若要寻查结点的直接前驱、则必须从表头指针出发。换句话说,在单链表中,**查找直接后继的执行时间为 O(1),而查找直接前驱的执行时间为 O(n) **。为解决单链表这种单向性的缺点,可利用双向链表(Double Linked List)。在双向链表的节点中有两个指针域,一个指向直接后继,另一个指向直接前驱。数据域:存储数据元素。指针域:存储指向下一个节点的指针。指针域:存储指向上一个节点的指针。

2025-02-23 18:00:00 546

原创 I2C驱动(五)--通用驱动i2c-dev.c分析

本文对I2C通用设备驱动i2c-dev.c进行分析介绍。

2025-02-23 15:07:44 1032

原创 数据结构--单向循环链表(C语言实现)

单向循环链表的C语言实现,插入,删除,遍历。

2025-02-22 10:48:45 278

原创 数据结构--单链表(C语言实现)

数据域:存储数据元素。指针域:存储指向下一个节点的指针。int data;}Node;单链表的特点是每个节点只指向下一个节点,最后一个节点指向NULL,表示链表的结束,如下图所示。

2025-02-22 00:23:00 453

原创 数据结构--顺序表(C语言实现)

顺序表是一种线性表的存储结构,它使用一组地址连续的存储单元依次存储线性表中的元素。在C语言中,顺序表通常通过数组来实现。下面是一个简单的顺序表的C语言实现,包括初始化、插入、删除、查找等基本操作。

2025-02-20 16:52:37 219

原创 I2C驱动(四) --I2C-Tools介绍

I2C-Tools介绍和使用

2024-06-06 22:19:04 3564

原创 I2C驱动(三) --驱动中的几个重要结构

本文介绍i2c驱动的几个重要结构。

2024-05-31 22:47:25 754

原创 I2C驱动(二) -- SMBus协议

本文介绍i2c_smbus协议。

2024-05-26 21:12:21 2603

原创 I2C驱动(一) -- I2C协议

本文介绍i2c协议。

2024-05-20 23:35:47 902 1

原创 【FreeRDP 】

Ubuntu 安装freerdp 远程连接window

2022-11-05 17:29:30 4597

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除