- 博客(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设备驱动程序
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
原创 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
原创 数据结构--队列(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
原创 数据结构--双向链表(C语言实现)
单链表的节点中只有一个指向直接后继的指针域。因此,从某个结点出发只能顺指针向后寻查其他节点。若要寻查结点的直接前驱、则必须从表头指针出发。换句话说,在单链表中,**查找直接后继的执行时间为 O(1),而查找直接前驱的执行时间为 O(n) **。为解决单链表这种单向性的缺点,可利用双向链表(Double Linked List)。在双向链表的节点中有两个指针域,一个指向直接后继,另一个指向直接前驱。数据域:存储数据元素。指针域:存储指向下一个节点的指针。指针域:存储指向上一个节点的指针。
2025-02-23 18:00:00
546
原创 数据结构--单链表(C语言实现)
数据域:存储数据元素。指针域:存储指向下一个节点的指针。int data;}Node;单链表的特点是每个节点只指向下一个节点,最后一个节点指向NULL,表示链表的结束,如下图所示。
2025-02-22 00:23:00
453
原创 数据结构--顺序表(C语言实现)
顺序表是一种线性表的存储结构,它使用一组地址连续的存储单元依次存储线性表中的元素。在C语言中,顺序表通常通过数组来实现。下面是一个简单的顺序表的C语言实现,包括初始化、插入、删除、查找等基本操作。
2025-02-20 16:52:37
219
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人