自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux文件夹介绍

包括进程调度(kernel/sched.c)及创建和撤销进程的代码(kernel/fork.c和kernel/exit.c)。该文件夹下没有内核代码。这个文件夹下没有内核代码,仅仅有一套实用的文档,但这些文档的质量不一。drivers文件夹下包括的代码占整个内核发行版本号代码的约一半以上。包括全部支持的外设的驱动。该文件夹包括了与体系结构无关的内存管理代码,为每一个平台实现 和体系结构相关的内存管理程序 是放在arch/platform/mm中的。arch文件夹下的所以子文件夹中都是体系结构相关的代码。

2023-12-30 15:20:42 562

原创 MX6ULL学习笔记(十三)Linux 自带按键驱动程序

Linux 内核也自带了 KEY 驱动,如果要使用内核自带的 KEY 驱动的话需要配置 Linux 内核,不过 Linux 内核一般默认已经使能了 KEY 驱动,但是我们还是要检查一下。按照如下路径 找到相应的配置选项:选中“GPIO Buttons”选项,将其编译进 Linux 内核中,如图选中以后就会在.config 文件中出现“CONFIG_KEYBOARD_GPIO=y”这一行,Linux 内核 就会根据这一行来将 KEY 驱动文件编译进 Linux 内核。

2023-12-17 00:56:15 1258

原创 MX6ULL学习笔记(十二)Linux 自带的 LED 灯

前面我们都是自己编写 LED 灯驱动,其实像 LED 灯这样非常基础的设备驱动,Linux 内 核已经集成了。Linux 内核的 LED 灯驱动采用 platform 框架,因此我们只需要按照要求在设备 树文件中添加相应的 LED 节点即可,本章我们就来学习如何使用 Linux 内核自带的 LED 驱动。

2023-12-17 00:39:04 1133

原创 MX6ULL学习笔记(十一)I2C设备驱动

前面我们说过,linux内核驱动遵循分离与分层的思想,也就是Linux中的总线驱动设备模型,也就是常说的驱动分离,如图所示,那么i2c也不例外。当向系统注册一个驱动时,总线会在右侧的设备中查找,看看有没有与之匹配的设备,有的话就将两者联系起来;当向系统中注册一个设备时,总线会在左侧的驱动中查找,看有没有与之匹配的驱动,有的话也联系起来。下面三层是通过总线-设备-驱动模型融合到一起的I2C驱动。这里可以看到,Linux内核将I2C驱动分为两部分:①、I2C总线驱动,I2C。

2023-12-14 19:50:21 1109

原创 Linux驱动开发中private_data变量的理解

在嵌入式Linux中,"是一个结构体或类中的成员变量,用于指向该设备的私有数据。这个变量的作用是为了让驱动程序可以在设备和设备文件之间建立联系。

2023-12-12 20:31:32 629

原创 MX6ULL学习笔记(四)设备树

设备树(Device Tree),将这个词分开就是“设备”和“树”,描述设备树的文件叫做 DTS(Device Tree Source),这个 DTS 文件采用树形结构描述板级设备,也就是开发板上的设备信息,比如CPU 数量、 内存基地址、IIC 接口上接了哪些设备、SPI 接口上接了哪些设备等等,如图所示:在图中,树的主干就是系统总线,IIC 控制器、GPIO 控制器、SPI 控制器等都是接到系统主线上的分支。

2023-12-11 19:39:57 1061

原创 MX6ULL学习笔记(九)MISC设备驱动

所有的 MISC 设备驱动的主设备号都为 10,不同的设备使用不同的从设备号。随着 Linux字符设备驱动的不断增加,设备号变得越来越紧张,尤其是主设备号, MISC 设备驱动就用于解决此问题。MISC 设备会自动创建 cdev,不需要像我们以前那样手动创建,因此采用 MISC 设备驱动可以简化字符设备驱动的编写。

2023-12-07 17:39:23 1019

原创 MX6ULL学习笔记 (八) platform 设备驱动实验

②。

2023-12-07 11:42:26 1043 3

原创 MX6ULL学习笔记 (七) 中断实验

(1)首先定义一个结构体,来保存有关key中断的一些信息。/* 中断IO描述结构体 */int gpio;/* 中断号 *//* 按键对应的键值 *//* 名字 *//* 中断服务函数 *//* gpio号 *//* 中断号 *//* gpio名字 *//*按键对应键值*//*终端服务函数 */

2023-12-04 14:56:34 1084

原创 MX6ULL学习笔记(一) 交叉工具链的安装

ARM 裸机、Uboot 移植、Linux 移植这些都需要在 Ubuntu 下进行编译,编译就需要编译 器,Ubuntu 自带的 gcc 编译器是针对 X86 架构的!而我们现在要编译的是 ARM 架构的代码,因为我们编译的代码是需要烧写到ARM板子上的,所以我们需要一个在 X86 架构的 PC 上运行,可以编译 ARM 架 构代码的 GCC 编译器,这个编译器就叫做交叉编译器。

2023-11-27 10:55:42 1149

原创 Linux imu6ull驱动- led

(1)IOMUXC_SW_MUX_CTL_PAD_PADNAME> :Mux pad xxx,选择某个 pad 的功能。(2)IOMUXC_SW_MUX_CTL_GRP_GROUP NAME>:Mux grp xxx,选择某组引脚的功能。(2)IOMUXC_SW_PAD_CTL_GRP_GROUP NAME>:pad grp xxx,设置某组引脚的参数。(1)IOMUXC_SW_PAD_CTL_PAD_PAD_NAME>:pad pad xxx,设置某个pad的参数。IOMUXC分为两个部分。

2023-11-11 02:57:45 515

原创 IMX6ULL学习笔记(三) 字符设备驱动hello_drv

编写入口函数具体实现:(1)动态分配设备号使用函数或函数动态分配字符设备号。这些函数将为字符设备分配主设备号和次设备号。(2)初始化字符设备结构体:调用cdev_init()函数来初始化字符设备结构体。该函数需要传入要初始化的struct cdev变量以及指向文件操作函数表的指针。(3)创建字符设备节点:调用cdev_add()函数将字符设备添加到内核中,在/dev/目录下创建相应的字符设备节点。(4)使用函数创建一个设备类。

2023-11-09 20:17:13 288

原创 IMX6ULL学习笔记()开发板设置静态IP

编辑/etc/network/interfaces文件。//可以看到如下内容。在文件最后添加如下内容。重启开发板就可以了。

2023-11-08 18:45:19 337

原创 VScode platformio的使用

打开vscode界面你会发现左下多了个家的小图标,点击这里就可以进入platformio。在右侧Quick Access栏中,有4个选项。可以看得出来,我们这里直接点击创建一个新的工程。点击打开project配置界面:填完点击创建就可以了,第一次创建他可能需要去加载那些MCU,创建的时间需要挺久的,这里耐心等待就好了,如果显示创建超时的话,就再去试下换pip源。创建好了就是这样一个界面。

2023-10-17 22:00:28 1156 2

原创 解决正点原子Linux开发板配置静态IP重启后失效的问题

先修改vi /etc/network/interfaces,设置静态IP 保存 修改开机自启动文件 vi /etc/rc.local 在 exit0 之前添加这条命令: /etc/init.d/networking restart 保存,然后重启就没问题了

2023-10-08 23:19:09 279

原创 MATLAB学习

MATLAB是“MATrix LABoratory”的缩写,它是由美国Mathworks公司于1984年推出的一种科学计算软件。

2023-10-07 09:24:07 299

原创 关于21电赛数字识别

这里我们只讲数字识别的代码。这里着重讲我们得到训练后的模型该怎么去修改以及和stm32单片机通信。当我们把下载的模型解压后,就得到一些这些文件,我们只需要对这里的boot进行修改就好了。使用Maixpy_ide打开后我们需要先添加关于串口的初始化然后找到我们代码中关于识别到了数字的代码,大概是在这里添加上串口打印的代码如果你想要提高一下准确度,可以改成这样也就是当识别的准确度大于0.7之后才通过串口发送数据给单片机。

2023-07-17 23:21:41 243

原创 K210学习篇(八)在MaixHub训练模型

本文着重于如何使用K210拍摄图片,并将图片上传到MaixHub平台进行模型训练。补充一下一些经验心得,比如一些训练参数的设置。在我们训练模型之前,我们需要获取一些数据集,其实也就是需要识别的物体图片。这里记得我们在获取数据集的时候,尽量使用手里的k210去进行数据采集,这里训练出来的模型才会比较精准。

2023-07-17 17:29:53 1516 1

原创 k210获取机器码

打马赛克的那里就是机器码。

2023-07-17 11:05:20 362 1

原创 k210学习篇(九) image图像处理

这里定义了颜色属性类,主要是用于保存找到的色块的一些信息,以及色块的阈值,寻找区域等信息。# 寻找色块# 定义类cx = 0 # 色块 x轴 中心坐标cy = 0 # 色块 y轴 中心坐标flag = 0 # 色块标志位 1 找到 0 未找到color = 0 # 色块颜色标志位 例如 你可以用 1 来表示 黑色density = 0 # 色块密度比 反映色块锁定程度 值越大 锁定程度越好pixels_max = 0 # 色块像素最大值led_flag = 0 # LED标志位 方便调试用。

2023-07-16 18:53:51 1569

转载 模电学习笔记网页合集

一旦进入到负反馈的阶段,你会对于模电产生一个全新的认识,他不再让我们局限于去分析某个管子会怎么样,而是将眼光放在了整个电路上,我们经常会遇到一个电路图中同时出现多级放大的情况,这个时候我们就需要用模块化的思想,将复杂的电路看成一个个单独的部分,将其等效成一个个“小盒子”,运用戴维南的相关知识,对电路进行简化分析。放大电路的分析方法实际是一个贯穿模电始终的分析过程,这其中对于器件的处理,电路的等效,以及一些过大过小的属性所引起的电路的等效都涉及到不同的思想。的学习归根结底就是对于器件的学习。

2023-07-16 11:12:39 201 1

原创 K210学习篇(七) LCD

这一部分的代码没有什么好讲解的,因为市场上的lcd的屏幕函数大差不差的,写法大概就那些,一些底层的也灭有必要自己写,就直接贴一些api就好了。老规矩先上一个例程这里要记得先把图片文件放进去SD卡。图片在下面,命名自己也命名好。还有一个小例程,这是结合感光模块的。

2023-07-15 17:19:48 1085 1

原创 PID算法

但是在具体的场景中,使用了PID算法,通过编码器的速度反馈,可以实时的知道小车的速度是否慢了,然后利用目标速度与实际速度的误差带入算法,即可获得当前占空比,达到控制速度的效果。PID算法是控制领域非常常见的算法,小到控制温度,大到控制飞机的飞行姿态和速度等等,都会涉及到PID控制,在控制领域可以算是万能的算法,如果你能够掌握PID算法的控制与实现,那么已经足以应对控制领域的一般问题了。在进行PID控制时,位置式PID 需要有积分限幅和输出限幅,而增量式PID 只需输出限幅。位置式PID与增量式PID对比。

2023-07-15 11:22:59 219

原创 k210学习篇(六)UART

uart模块主要用于驱动开发板上的异步串口,可以自由对uart进行配置。k210一共有3个uart,每个uart可以进行自由的引脚映射。例程:用串口1接收电脑号串口助手接收到的数据,然后使用Maix_IDE的串口终端打印出来。

2023-07-15 11:11:30 471

原创 K210学习篇(五)PWM

每个 PWM 依赖于一个定时器, 即当定时器与 PWM 功能绑定后, 不能作为普通定时器使用了。因为有 3 个定时器, 每个定时器有 4 个通道, 即最大可以同时产生 12 路 PWM 波形。: 每个PWM依赖一个定时器来产生波形, 所以这里需要传一个定时器对象,这个定时器对象必须初始化时必须指定定时器 ID 和通道号。PWM: 脉宽调制模块, 硬件支持的PWM, 可以指定任意引脚(0到47引脚): PWM 占空比, 指高电平占整个周期的百分比,取值:[0,100]: 是否立即开始产生波形,默认位。

2023-07-15 00:29:24 796

原创 K210学习篇(四)定时器

MicroPython 的 Timer 类定义了在给定时间段内(或在一段延迟后执行一次回调)执行回调的基本操作,并允许特定的硬件上定义更多的非标准行为(因此不能移植到其他板)。: 硬件定时器分频器,取值范围[0,255], 默认为0, clk_timer(定时器时钟频率) = clk_pll0(锁相环0频率)/2^(div+1): 硬件定时器中断优先级, 与特定的CPU相关, 在K210中,取值范围是[1,7], 值越小优先级越高。: 定时器回调函数, 定义了两个参数, 一个是定时器对象。

2023-07-14 22:37:04 403

原创 k210学习篇(一)环境搭建

便宜!便宜!便宜!淘宝200即可买到一个能带摄像头和LCD屏等等的开发板。

2023-07-14 16:04:12 441

原创 STM32 主从蓝牙模块配置

最近在调试小车的时候,突然想要用两个蓝牙进行单片机和电脑的交互,之前一直用的都是从机的蓝牙。这里因为需要双机通信,所以也就顺便查询了一些资料,了解一下主从蓝牙模块的使用,以及双机通信的一些使用。话不多说,开始。AT指令。

2023-07-11 00:57:55 2829

原创 基于普中A2实验板,ds18b20温度传感器与ds1302时钟芯片的冲突现象的探讨

出所料,在CS置0时,DOUT自动置0,而CS置1时DOUT口为高阻状态不对P3^7口的电平造成影响,也就造成了P3^5引脚置0时P3^7引脚置为0,那么就破案了。由于普中A2实验板的P3^5和P3^7引脚在各自连接ds1302和ds18b20的同时连接了ET2046,由于ET2046芯片的原因,当P3^5引脚置0时P3^7引脚自动置为0,进而使板子上的ds18b20和ds1302冲突。也就是在P3^5为0时,P3^7只能是0,反过来P3^7对P3^5却没有这个影响。那在这就直接上代码,

2023-06-21 15:53:13 203 1

原创 51单片机操作系统——RTX51 Tiny

单片机。

2023-06-09 17:28:45 5513 2

原创 k210学习篇(八) sensor感光元件

sensor 传感器模块(这里特指摄像头模块),进行摄像头配置及图像抓取等,用于控制开发板摄像头完成摄像任务。

2023-05-25 15:37:11 1611

原创 K210学习篇(三)串口

uart 模块主要用于驱动开发板上的异步串口,可以自由对 uart 进行配置。k210 一共有3个 uart,每个 uart 可以进行自由的引脚映射。

2023-05-24 12:13:59 1315

原创 K210学习篇(三)FPIOA和GPIO

K210使用的是FPIOA (现场可编程 IO 阵列),所以每次使用硬件 IO 口前都需要对硬件 IO口进行引脚映射。而且在软件中调用的也是软件映射后的软件 GPIO允许用户将 255 个内部功能映射到芯片外围的 48 个自由IO 上:• 支持IO 的可编程功能选择• 支持IO 输出的8 种驱动能力选择• 支持IO 的内部上拉电阻选择• 支持IO 的内部下拉电阻选择• 支持IO 输入的内部施密特触发器设置• 支持IO 输出的斜率控制• 支持内部输入逻辑的电平设置。

2023-05-24 11:02:54 931

原创 K210学习篇(二)硬件原理图篇

2023-05-24 10:37:03 2946 3

原创 多串口重定向发送和接收

代码:(放在usart.c)记得在(放在usart.h)声明下函数使用例程:Uart_printf(&huart2,"data = %d",13);串口接收字符且进行判断定义接收缓存变量串口接收字符串且进行判断。

2023-05-23 23:17:29 372 1

原创 触发器章节小结

由于存在这样两个动作特点,在使用主从结构触发器时经常会遇到这样一种情况,就是在CLK =1期间输入信号发生过变化以后,CLK下降沿到达时从触发器的状态不一定能按此刻输人信号的状态来确定,而必须考虑整个CLK=1期间里输入信号的变化过程才能确定触发器的次态。第二步,CLK 下降沿到来时从触发器按照主触发器的状态翻转,所以Q、Q’端状态的改变发生在CLK的下降沿。由图可知,当CLK = 0时,门G3、G4的输出始终停留在1状态,S、R端的信号无法通过G3、G4而影响输出状态,故输出保持原来的状态不变。

2023-05-20 16:15:50 1745 1

原创 数电mos管 章节小结

这种类型的MOS管采用P型衬底,导电沟道是N型;在VGS = 0时没有导电沟道,开启电压VGS(th)为正 这种类型的MOS管采用N型衬底,导电沟道是P型;VGS = 0时不存在导电沟道,只有在栅极上加以足够大的负电压时,才能把N型衬底中的少数载流子 - 空穴吸引到栅极下面的衬底表面,形成P型的导电沟道;因此,P沟道增强型MOS管的开启电压VGS(th)为负值。

2023-05-20 16:07:30 128

原创 门电路OD门

漏极开路输出的门电路(OD门)

2023-05-19 16:44:08 10656

原创 其他类型的CMOS逻辑门

电路结构如图所示。

2023-05-17 23:17:26 1806

原创 keil 界面优化

【代码】keil 界面优化。

2023-05-07 11:01:24 203

51单片机操作系统-RTX51 Tiny

51单片机操作系统-RTX51 Tiny

2023-06-09

MPU6050dmp库hal库的移植

MPU6050dmp库hal库的移植

2023-03-18

空空如也

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

TA关注的人

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