自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 42.正点原子gt9147多点触屏实现7寸

【代码】42.正点原子gt9147多点触屏实现7寸。

2025-10-18 21:38:43 207

原创 41.多点触屏正点原子MP157使用系统自带goodix出现问题解决方案

添加电源

2025-10-16 11:26:22 208

原创 40.解决vmware 相关服务自动在重启后变为手动模式的问题

把这4个开启了之后,不要在服务中改成自动,原因我也不知道,服务里面变手动就行,可能是机制的问题,这样就行了;因为我已经设置为自动了,但是电脑重启后老是变为手动,所以导致每次都要在虚拟网络编辑器上还原配置信息。是电脑自带的管家把VMware的自启动服务改了,需要我们去打开!

2025-10-15 17:52:05 156

原创 39.解决VMware空间问题总合

5、VMware删除快照失败,实际只删除了快照名字,但实际快照磁盘文件并未删除,导致VMware所占磁盘空间越来越大。2、删除合并快照时因磁盘空间不够导致快照管理器看不到快照无法完成的解决方法。以下我全部试过:一起结合起来解决了我的问题!第7个和第6个很重要!1、VMware:在部分链上无法执行所调用的函数,请打开父虚拟磁。最总结:豆包辅助也很重要,以及diskgenius分盘工具!4、压缩卷压缩出的空间和实际可用空间差距较大的解决方法。7、VMware空间不足又无法删除快照的解决办法。

2025-10-15 16:43:48 306

原创 38.正点原子MP157摄像头ov5640驱动讲解_csdn

上述代码只对。

2025-10-14 16:05:32 589

原创 37.2多点电容触摸屏实验(详细代码)_csdn

结构体由内核创建和管理,每个连接到 I2C 总线上的设备(比如你的 FT5426 触摸屏)都会对应一个i2c_client实例。设备地址(如 FT5426 的 0x38);所属的 I2C 总线(如你系统中的i2c-0设备名称、设备树节点指针等元数据;用于通信的函数接口(如读取 / 写入设备寄存器)。可以看到client和input在设备结构体当中是没有实例的,所以都要进行实例化;这个都是前面I2C协议学过的!

2025-10-10 16:39:25 448

原创 37.1多点电容触摸屏实验(知识)_csdn

2025-10-10 16:38:14 123

原创 永久解决ubuntu网络连接问题

注意:如果你们的网络不是这样的 192.168.136.249或者192.168.11.1,一定要根据自己的开发板和虚拟机ubuntu的网段进行配置!如果长时间不用ubuntu,就会发现虚拟机ubuntu连不上网络,但是en33确可以ping通开发板MP157。网段en37:笔记本电脑连接WIFI->NAT模式下接虚拟机ubuntu。网段en33:笔记本电脑连接WiFi->桥接模式下接开发板MP157。最后注意:crtl+o保存,还要enter键;按照自己的文件名字进行复制哦!

2025-10-09 16:16:14 398

原创 36.2Linux单总线驱动DS18B20实验(详细讲解代码)_csdn

这里可以放在probe函数内,但是如果需要适应创建多个MISC设备,那么就放在设备结构体中;这里我们要强调一下;这两种写法要好好记一下!

2025-09-08 18:57:28 860

原创 36.1Linux单总线驱动实验(知识)_csdn

对于上述DS18B20和DHT11传感器,想必大家在学习裸机的时候已经很熟悉了!

2025-09-08 18:50:18 148

原创 2.FreeRTOS中断管理_csdn

2025-08-12 11:20:35 184

原创 1.FreeRTOS系统配置_csdn

1.4、 其他配置项[外链图片转存中…(img-4BNB3P0g-1754964302729)]

2025-08-12 10:05:58 229

原创 31.2linux中Regmap的API驱动icm20608实验(编程)_csdn

因为如果有多个从设备的话,难以处理多个设备实例的情况;会增加代码复杂度。用上面这个传递会使系统会在栈上创建该结构体的一个副本。这样的拷贝操作会带来额外的性能开销。==当然如果驱动代码全文没有用struct icm20608_dev icm20608dev这种形式的,就一定要为它分配内存!==这种形式已经是全局的结构体实例,指针dev直接指向它,无需额外分配内存。后面可以通过:通过指针变量来修改设备结构体的子类内容。

2025-06-08 22:39:23 1100

原创 31.1linux中Regmap的API实验(知识)_csdn

2025-06-08 22:35:51 237

原创 35.成功解决编写关于“江协科技”编写技巧第二期标志位积累的问题

大家可以看看:https://space.bilibili.com/383400717最后面给了一个未完成的任务:这里我已经把这个问题给解决了!总代码放在资源里面,key.c放在文章最后面!同时感兴趣的同学可以看看我的Linux驱动讲解!

2025-06-06 12:36:24 488

原创 34.2STM32下的can总线外设_csdn

2025-06-04 17:53:39 284

原创 34.1STM32下的can总线实现知识(区分linux)_csdn

我们以STM32F103C8T6为例实现基本的驱动!下面的主流通信协议在之前的文章中也讲过!可以明显看出遥控帧和数据帧的区别!遥控帧的RTR是1,数据帧的RTR是0,而且遥控帧没有数据段!如果有设备需要的话,首先接收方会发出一个遥控帧,遥控帧会包含报文ID,遥控帧也是广播式的,每个设备都能收到遥控帧,如果其中有个设备有这个ID的数据,那么这个设备就会把数据帧通过广播出来,然后真正需要的接收方就会收到数据。(适合使用频率低的数据传输)!:如果使用频率高,这种遥控帧请求式就不合适了!

2025-06-04 10:47:49 1091

原创 Keil软件中STM32(ARM)与C51兼容方法

推荐其他UP主:我已经实现了!

2025-05-20 21:50:02 1673

原创 28.成功解决i2c_transfer返回-6的问题并linux驱动mpu6050(适合一切linux学习者)

开发板:正点原子STM32MP157环境:ubuntu驱动目标:mpu6050解决思路:就是换等长的杜邦线就行!正点原子的STM32MP157板子上并没有mpu6050的模块!所以只能外接!涉及总代码会放在后面!对于代码的编写不会的宝子可以按照我之前的文章看看I2C的驱动知识和编程,评论区或者后台问我,会一一回答!这块板子只提供I2C4的外设接口并引脚引出:看上图就是I2C4 SCL PZ4和I2C4 SDA PZ5。看过我之前的同学就知道:我的pcf8563也是这个总线接口!但不影响!所

2025-05-07 15:55:58 913

原创 26.2Linux中SPI的驱动实验(编程)_csdn

因为如果有多个从设备的话,难以处理多个设备实例的情况;会增加代码复杂度。用上面这个传递会使系统会在栈上创建该结构体的一个副本。这样的拷贝操作会带来额外的性能开销。==当然如果驱动代码全文没有用struct icm20608_dev icm20608dev这种形式的,就一定要为它分配内存!==这种形式已经是全局的结构体实例,指针dev直接指向它,无需额外分配内存。后面可以通过:通过指针变量来修改设备结构体的子类内容。

2025-05-06 18:25:05 1122

原创 26.1Linux中SPI的驱动实验(知识)_csdn

其中尤为重要的就是I2C一般是最低位是读写标志位,SPI一般是最高位是读写标志位。类似像这样!不过有低位在前和高位在前的区别!

2025-05-06 17:17:21 392

原创 问题:成功解决/sys/bus/spi/devices/下没有spi设备的问题

当然,为了解决问题,这两天在网上翻阅了很多没有SPI设备的相似问题,都大同小异!有的是自己设计的开发板,需要添加SPI节点,有的是成品开发板,有的分析SPI控制器源码,比如SPI_master。对于自己掌握SPI开发有了一定的见识!看到这里,感觉大家是不是对于我这个问题很简单,一开始我没有找出问题所在,因为自己对与复制文件太自信了,所以太疏忽!成功解决/sys/bus/spi/devices/下没有spi设备的问题!但是我明明改了uImage和dtb文件!原来是我自己输错命令了!有了spi_stm32!

2025-05-06 16:10:37 456

原创 25.3linux中外置RTC芯片的PCF8563驱动代码(分析)_csdn

接下来我们对PCF8563驱动代码进行详细分析!没有结构体实例,所以要赋值实例并且申请内存!可以看到上面还用到client的中断。可以看到这个文件驱动已经注册!跟之前讲I2C架构一样,定义。

2025-05-04 10:02:42 468

原创 25.2linux中外置RTC芯片的PCF8563实验(测试)_csdn

也就是中断引脚并不需要配置pinctrl信息,它作为GPIO功能!而I2C4的两个引脚需要配置pinctrl信息!知道了这些引脚我们还是按照老习惯!目前我的开发板启动之后提示成功了!

2025-05-04 10:00:49 513

原创 25.1linux中外置RTC芯片的PCF8563实验(知识)_csdn

2025-05-04 09:58:04 261

原创 24.Linux中RTC的驱动实验_csdn

像这里的读取时间,是在之前的代码里面已经写好了有关时间计数的代码,直接引用两个寄存器就行。

2025-05-01 16:25:26 604

原创 23.linux中RGB的转HDMI实验_csdn

我们先进行 SiI9022A 的硬件原理分析,打开开发板底版原理图。

2025-05-01 13:20:57 312

原创 22.2Linux的I2C驱动实验(编程)_csdn

因为如果有多个从设备的话,难以处理多个设备实例的情况;会增加代码复杂度。用上面这个传递会使系统会在栈上创建该结构体的一个副本。这样的拷贝操作会带来额外的性能开销。==当然如果驱动代码全文没有用struct ap3216c_dev ap3216cdev这种形式的,就一定要为它分配内存!==这种形式已经是全局的结构体实例,指针dev直接指向它,无需额外分配内存。后面可以通过:通过指针变量来修改设备结构体的子类内容。

2025-05-01 13:17:04 1364

原创 22.1Linux的I2C驱动实验(知识)_csdn

这上面的流程就是:1、初始化i2c_adapter 结构体变量;2、设置 i2c_algorithm 中的 master_xfer 函数;3、通过 i2c_add_numbered_adapter或i2c_add_adapter这两个函数向I2C子系统注册设置好的i2c_adapter;

2025-05-01 13:03:33 413

原创 21.2Linux中的LCD驱动实验(驱动)_csdn

显示波浪线是因为alientek_desc 保存参数,这个参数我们并没有写。

2025-05-01 13:01:22 473

原创 21.1Linux中的LCD驱动实验(知识)_csdn

可以看到红、绿、蓝每个8位,还有一位是A7~A0就是透明通道,32位ARG8888。其中LCD_BL在设备镜像中没有添加,说明我们只需要4个,CLK\HSYNC\VSYNC\DE这4个就行。

2025-05-01 12:58:15 283

原创 20.2Linux的PWM驱动实验(编程自带代码)_csdn

可以看出 pwmchip0 对应的定时器寄存器起始地址为 0X44000000,根据示例代码 39.1.1.1 中的 timers1 节点,可以知道 TIM1 这个定时器的寄存器起始地址就是 0X44000000。注意,不能只屏蔽掉 PA10 的 pinctrl 配置信息,也要搜索一下“gpioa 10”,看看有没有哪里用到,用到的话也要屏蔽掉。这里我们可以发现,并没有详细讲PWM的驱动源代码怎么写,因为代码数量和联系的结构体太多了,所以我以后会单独讲PWM的驱动代码编写!

2025-04-22 15:39:48 1033

原创 20.1Linux的PWM驱动实验(知识点)_csdn

PWM 是很常用到功能,我们可以通过 PWM 来控制电机速度,也可以使用 PWM 来控制LCD 的背光亮度。本章我们就来学习一下如何在 Linux 下进行 PWM 驱动开发。

2025-04-22 14:52:07 404

原创 19Linux自带按键驱动程序的使用_csdn

【代码】19Linux自带按键驱动程序的使用_csdn。

2025-04-22 14:40:17 160

原创 18.2基于Linux的INPUT子系统实验(详细编写程序)_csdn

看正点原子的代码,并没有使用阻塞和非阻塞、异步通知。所以这里我们可以加或者不加,作用只是。

2025-04-22 14:35:02 816

原创 18.1基于Linux的INPUT子系统实验(知识)_csdn

在我看来,就是注册字符设备进行封装了。给了input子系统统一操作了。这就是核心层!

2025-04-22 14:19:24 710

原创 17.2Linux的MISC驱动实验(编程)_csdn

也就是设备结构体中的东西!1、首先配置设备结构体:2、配置miscdevice结构体:其中宏定义名字和次设备号:name 就是此 MISC 设备名字,当此设备注册成功以后就会在/dev 目录下生成一个名为 name的设备文件;fops 就是字符设备的操作集合, MISC 设备驱动最终是需要使用用户提供的 fops操作集合。然后一次性注册misc设备驱动:这里就可以实现/dev 目录下生成一个名为 name的设备。注册失败后打印:

2025-04-22 14:14:47 934

原创 17.1Linux的MISC驱动实验(知识)_csdn

变得更方便了:注意:是固定了主设备号为10,有些外设不好分类,为了解决linux下的设备号变得越来越紧张的情况!得越来越紧张的情况!

2025-04-22 14:07:06 179

原创 16.2Linux自带的LED灯驱动实验(详细编写)_csdn

这个实验不用自己编写代码。

2025-04-05 21:28:16 899

原创 16.1Linux自带的LED灯驱动实验(知识)_csdn

可以看到结构中包含platform注册和注销两个定义了,说明只要执行module_platform_driver就完成了注册和注销!这就是一整套驱动的注册和注销!变的更方便了!

2025-04-05 21:25:56 389

解决关于“江协科技”编写技巧第二期标志位积累的问题

按键资源开发

2025-06-06

设备树下的 LED 驱动实验

设备树下的 LED 驱动实验

2025-05-04

Linux新字符设备驱动实验-新驱动框架的搭建

Linux新字符设备驱动实验-新驱动框架的搭建

2025-05-04

linux LED灯驱动实验(直接操作寄存器)

linux LED灯驱动实验(直接操作寄存器)

2025-05-04

(学习正点原子)第一个驱动框架实验编写

(学习正点原子)第一个驱动框架实验编写

2025-05-04

【Ubuntu问题汇总】3.qemu模拟开发板

Ubuntu问题汇总

2024-12-01

空空如也

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

TA关注的人

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