自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(64)
  • 资源 (1)
  • 收藏
  • 关注

原创 GUI Guder生成的代码移植到VScode模拟器

本文介绍了LVGL图形界面开发环境的搭建与移植方法。首先指导读者在VSCode中配置LVGL模拟器,并提供了优快云参考教程链接。其次详细说明了如何从NXP官网下载安装GUI Guider工具,强调版本匹配的重要性。在移植部分,文章分三个步骤:1)将GUI Guider生成的文件复制到VSCode工程;2)修改CMakeLists.txt文件以解决头文件路径问题;3)修改main.c文件添加必要的头文件和初始化代码。整个过程注重实际开发中的关键配置点,为LVGL开发者提供了从环境搭建到项目移植的完整指导方案

2026-04-17 20:49:48 375

原创 I2S 总线协议介绍

I2S是飞利浦制定的数字音频传输标准,用于设备间高质量音频数据传输。它采用3线制(BCLK时钟、SD数据线、LRCLK声道切换),支持主从模式,采样率由LRCLK频率决定。I2S定义了数据位宽(样本位数)和位深(有效位数)的概念,并提供标准、左对齐和右对齐三种传输模式。与I2C协议无关,I2S专注于音频数据的格式、时序和控制信号规范。

2026-03-25 17:14:17 157

原创 S32DS for S32 Platform PWM输出实践

本文介绍了S32K144 MCU的PWM配置流程:1)通过Pins工具配置FTM0引脚;2)添加PWM外设组件并修改参数;3)完成时钟、引脚和FTM初始化;4)提供了PWM频率和占空比调整函数。关键代码包括初始化函数FTM_DRV_Init()、频率调整函数PWM_FrequencyChange()和占空比设置函数PWM_DutyCycleChange(),实现了PWM基本功能的配置与控制。

2026-01-28 10:40:41 345

原创 S32DS for S32 Platform SPI实践

本文介绍了S32K144芯片SPI模块的配置与使用流程:1)通过Pins工具配置LPSPI引脚;2)在Peripherals中添加SPI驱动组件并修改配置参数;3)调用LPSPI_DRV_MasterInit函数初始化主设备;4)使用LPSPI_DRV_MasterTransferBlocking实现SPI数据传输。整个过程涵盖了从硬件引脚配置到软件驱动的完整开发步骤,适用于基于S32K144的SPI通信开发。

2026-01-26 09:36:30 205

原创 S32DS for S32 Platform RTC输出时间

本文介绍了在S32项目中配置和使用RTC(实时时钟)模块的完整流程。首先通过配置工具添加RTC组件并设置参数,然后进行初始化操作,包括启动计数器、设置初始时间等。文章详细说明了RTC的中断处理函数实现,包括每秒触发的秒中断和定时报警中断。在main函数中集成了RTC与UART功能,实现了时间获取和串口输出功能。最后提供了完整的RTC程序下载链接。该方案可用于嵌入式系统中的时间管理和定时任务触发。

2026-01-22 13:56:53 160

原创 S32DS for S32 Platform UART实践

本文介绍了S32K144 MCU的UART配置与使用流程。首先通过Pins工具配置LPUART引脚,再添加UART外设组件并设置参数。初始化部分展示了LPUART驱动的初始化和接收回调函数安装。中断回调函数实现了接收数据后立即发送的功能。最后给出了包含时钟初始化、引脚配置和UART数据收发的主函数示例,实现了串口数据的发送与回显功能。整个过程涵盖了从硬件配置到软件实现的完整开发流程。

2026-01-21 15:53:41 171

原创 S32DS for S32 Platform GPIO输入中断实践

本文介绍了S32微控制器GPIO中断配置的实现方法。首先通过Pins工具配置GPIO引脚为输入模式并设置下降沿触发中断,然后通过代码实现中断初始化:1)注册中断处理函数;2)设置中断优先级;3)使能中断。最后展示了中断回调函数的实现,包含两种方式:寄存器方式和SDK函数方式,用于检测特定引脚中断并清除标志位。整个过程涵盖了从硬件配置到软件实现的完整中断处理流程。

2026-01-20 17:19:08 211

原创 BLDC六步换相控制

六步换相控制的本质是,通过绕组形成的磁场,不断吸引转子上的永磁体,使电机转起来。霍尔位置传感器把360°空间(电角度)分为了等间隔的六份,所以绕组能形成六个位置的磁场,所以被称为六步换相;主要用于BLDC(无刷直流电机)的控制。

2026-01-16 16:45:15 379

原创 PID控制算法理论

当执行器(如电机、阀门)达到物理极限(如全开/全关、最大功率)后,控制器仍持续累积误差(积分项),导致积分值远超实际需求。一旦系统进入稳态(误差为零),控制器输出仍维持在极限值附近,造成严重超调、响应迟缓甚至系统失稳。

2026-01-16 11:08:09 888

原创 SVPWM理论

摘要:本文介绍了FOC控制中的两种PWM调制技术——SPWM和SVPWM。SPWM通过调整占空比生成等效正弦波,但存在母线电压利用率低和控制困难的问题。SVPWM利用空间电压矢量原理,通过6种开关状态合成旋转矢量,可获得理想圆形磁链轨迹。详细阐述了SVPWM的实现方法,包括扇区划分、作用时间计算、开关切换顺序和扇区判断算法,其中七段式SVPWM通过优化开关顺序减少损耗。相比SPWM,SVPWM具有更高的电压利用率和更好的控制性能。

2026-01-15 10:02:35 1202

原创 帕克变换和克拉克变换

根据模的运算,我们假设Ia相给的电流为1A,结合方程一,为了简化计算,我们假设 B 相和 C 相的电流大小相等(这是三相系统平衡状态的基础),则Ib=Ic=-0.5A,结合矢量模和方程四,我们得到就发现两个矢量不相同,所以对方程四两边同时乘与2/3,就得到了。克拉克变换是一种将三相静止坐标系(a,b,c)中的交流信号转换成两相静止坐标系(α, β)正交信号的坐标变换方法,主要用于简化三相系统的控制与分析,尤其在电机矢量控制(FOC)中实现解耦。矢量 a​ 在矢量 b​ 方向上的标量投影公式为,

2025-12-25 22:37:45 612

原创 QT自定义控件(提升法)

本文介绍了在QT中创建和使用自定义控件的两种方法。首先说明如何通过QT设计界面类创建新控件,包括界面绘制步骤并附有示意图。其次详细讲解了"提升"功能的使用:右键控件选择提升,指定基类和自定义类名后完成提升操作,文中有操作界面截图辅助说明。两种方法都配有直观的图片展示关键步骤,帮助开发者快速掌握QT自定义控件的实现方式。

2025-08-19 14:46:31 373

原创 MCU的GPIO 八种模式

这里要注意N-MOS管,当设置输出的值为高电平的时候,N-MOS管处于截止状态,此时I/O端口的电平就不会由输出的高低电平决定,而是由I/O端口外部的上拉或者下拉决定;当设置输出的值为为高电平时,P-MOS导通,N-MOS截止,此时I/O端口的电平就由P-MOS管决定为高电平;当设置输出的值为低电平的时候,P-MOS管处于截止状态,N-MOS管处于导通状态,此时I/O端口的电平就由N-MOS管决定为低电平,同时IO口输出的电平可以通过输入电路读取,此时I/O端口的电平一定是输出的电平。

2025-03-01 12:00:08 1595

转载 RS232和RS485通讯标准

串口通信采用的是TTL电平;TTL电平信号规定,+5V等价于逻辑“1”,0V等价于逻辑“0”(采用二进制来表示数据时)。这样的数据通信及电平规定方式,被称做TTL(晶体管-晶体管逻辑电平)信号系统。RS232接口,这种接口可以实现点对点的通信方式,但这种方式不能实现联网功能,随后出现的RS485解决了这个问题。由图可知,TTL电平标准最小高电平输出为2.4V,最大低电平是0.4V。

2025-02-21 15:12:40 1275

原创 通讯方式分类

全双工:允许数据同时在两个方向上传输,因此全双工通信时两个单工通信的结合,它要求发送设备和接收设备都有独立的接收和发送能力。半双工:允许数据在两个方向上传输,但不能同时进行,在某一时刻只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信。串行通信:通常是点对点的通信,通信线路简单,成本低,适合于长距离传送。(3)根据数据通信的方向,通信分为全双工、半双工、及单工通信。根据数据传输的方式不同,可以分为:串行通信和并行通信。异步通信只适用于点对点。根据通信中的数据同步方式:同步通信和异步通信。

2025-02-21 14:29:54 780

原创 Linux软链接和硬链接

它透过文件系统的 inode 来产生新的文件名, 注意不是产生新的文件, 换而言之, 就是一个文件使用了多个别名, 这个别名与源文件名都指向源文件的 inode。可以看成是 Windows 中的快捷方式, 可以让你快速链接到目标文件或目录, 它找到的是原文件名, 通过原文件名再找到真实的数据, 它自身有 inode。inode即是(目录、档案)文件在一个文件系统中的唯一标识,需要访问这个文件的时候必须先找到并读取这个 文件的 inode。

2025-02-20 16:43:17 393

原创 Freertos任务调度

同等优先级任务轮流地享有相同的 CPU 时间(可设置,指的是SysTick中断周期), 叫时间片,在FreeRTOS中,一个时间片就等于SysTick 中断周期,即相同优先级任务轮转运行的时间为一个时间片,时间片的持续时间可以由中断周期进行设置改变。Freertos第一次运行的任务是最高优先级的ready list最后一个创建的任务,它使用链表来管理任务,使用TICK中断,每隔固定时间,会产生的一个定时器中断,进入中断函数切换任务。的任务,FreeRTOS调度器依次选中相同优先级的任务进入运行态。

2025-02-20 15:38:42 665

原创 认识RTOS

在多任务系统中,根据功能的不同,把整个系统分割成一个个独立的且无法返回的函数,这个函数我们称为任务。系统中的每一任务都有多种运行状态。链表作为 C 语言中一种基础的数据结构,在平时写程序的时候用的并不多,但在操作系统里面使用的非常多。在多任务系统中,根据程序的功能,把这个程序主体分割成一个个独立的,无限循环且不能返回的子程序,称之为任务。外部中断紧急事件在中断里面标记或者响应,中断服务称为前台,main 函数里面的while(1)无限循环称为后台,按顺序处理业务功能,以及中断标记的可执行的事件。

2025-02-20 14:55:14 473

原创 STM32MX 配置CANFD收发通讯

这里我的发送是写在while里面的,实现的功能flag标志位1时,是一个canfd1发送数据,canfd2接收后flag值为2;flag为2时,canfd2发送数据,canfd1接收将flag值等于1。这里设置了ID为0x000,使用CANFD,数据长度64,滤波器在系统初始化完成后就可以进行配置了。CAN时钟频率为40MHZ,预分频器为1,TS1=5,TS2=4。也就是:CAN时钟频率/预分频器/(1+TS1+TS2)所以数据段的频率为40/8/(1+5+4)=500MHZ。

2024-12-04 15:57:39 2256

原创 S32DS for ARM GPIO实践

配置GPIO,双击Components界面下的pin_mux,在弹出的界面里面找到GPIO选项卡,找到想要配置的pin,选择输入或者输出。配置完成后,保存后点击这里生成配置代码,生成的代码会在Grenerated_Code文件夹下。pull select field-----------选择上拉还是下拉。initial value field---------- 默认输出状态。pin Mux field- ----------IO复用。lock Field---------锁控制。这个是我的main函数。

2024-10-23 10:34:32 1328

原创 QT打包成exe文件运行(非安装包)

这时候就要用到我们的qt自带的工具了,按下win键搜索qt,复制一下我们刚刚exe文件路径,输入windeployqt (exe文件路径)回车即可。在该文件里面可以看到release文件夹,release进去后就可以看到有个exe文件,但是还需要导入一些三方库,目前点击会出现类似的错误。在QT Creator里面构建那里,点击Release。构建完会生成类似这样的文件夹。文件生成的路径在项目概要里面。

2024-05-31 14:22:33 414

原创 QTableWidget导入导出excel

导入导出excel的方式有很多种,我这里使用的表格类型为CSV,这样可以不依赖那些office软件。

2024-05-10 17:29:50 551

原创 ldap认证svn

测试ldap认证是否配置成功,xioali是ldap用户名,123是密码。下载svn 客户端,打开客户端并输入 svn://10.65.0.11:3690/repo。修改完svn 配置后需要重启svn,在authz 中增加用户权限。创建/etc/saslauthd.conf 文件,写入以下内容。创建/etc/sasl2/svn.conf文件,写入以下内容。li.aa 只能update,查看内容,不能提交代码。修改SVN svnserve.conf 配置文件。输入ldap 账号: li.xinliang。

2024-04-09 14:27:02 654 2

原创 QT 自定义信号

信号的发送方和接受方本身没有关联(发送端的信号不一定触发接收端处理,接收端也不一定要接收信号后才完成操作),只是通过连接connect将两端耦合在一起。实现的功能是点击按钮后value变量的值增加,然后发送valueadd信号,输出value的值。信号槽的优点: 松散耦合。

2024-03-06 16:03:24 1176

原创 I2C总线协议

I2C(Inter-Integrated Circuit),也可以叫IIC、I2C,译作集成电路总线,是两线式串行通信总线,用于设备间的通讯等,标准情况下最高传送速率达100Kbps。顾名思义,I2C通讯只需要两根线,一根是数据线SDA(Serial Data Line),一根是时钟线SCL(Serial Clock Line)。主设备控制时钟线决定I2C的波特率,配合数据线进行数据的传输,这两根线分别通过上拉电阻连接到电源特点一种相对简单的通信协议,适合短距离(比如小于1m)通信。

2023-09-14 00:04:07 813

原创 SPI(Standard SPI)协议简介

SPI是串行外设接口(Serial Peripheral Interface)的缩写,是美国摩托罗拉公司(Motorola)最先推出的一种同步串行传输规范,也是一种单片机外设芯片串行扩展接口,是一种高速、全双工、同步通信总线,所以可以在同一时间发送和接收数据,SPI没有定义速度限制,通常能达到甚至超过10M/bps。

2023-08-13 21:29:05 1094

原创 xrdp登录显示白屏且红色叉

如上图所示,xrdp登录出现了红色叉加白屏,这是因为不正常关闭导致,解决方法其实挺简单的。

2023-07-27 13:31:42 826

原创 linux smb.conf文件配置

smb.conf文件是smb服务的唯一的一个配置文件,用来配置smb共享文件。

2023-07-04 10:09:30 2016

原创 checksysconf命令查询cadnece软件依赖库是否齐全

查看是否存在checksysconf文件,直接执行checksysconf <软件名>查看依赖库是否齐全。下面是输出的结果,显示我缺少了motif.i686和motif.x86_64库。进入cadence IC618的安装目录。

2023-07-04 09:43:05 1736

原创 Centos rsh免密登录

2.然后在目录/etc/securetty最后几行添加rexec,rsh,rlogin。4.添加目标用户的home目录创建.rhosts文件,内容和hosts.equiv相同。3.在目录/etc/hosts.equiv下添加其余虚拟机信息。然后通过rsh命令就可以实现接入其他的虚拟机了。

2023-07-04 09:41:57 405

原创 Centos部署lsf之openlava4.0

部署lsf之openlava4.0

2023-04-28 16:44:40 890

原创 openldap主机备份

主机与备份机安装好openldap,并且cn一致,否则导入备份数据会报错(除非手动修改备份数据里的cn)

2023-03-07 14:37:03 434

原创 ZooKeeper搭建服务集群

这个文件里面有一个数据就是A的值(该A就是zoo.cfg文件中server.A=B:C:D中的A),在zoo.cfg文件中配置的dataDir路径中创建myid文件。#在192.168.56.112服务器上面创建myid文件,并设置值为1,同时与zoo.cfg文件里面的server.1保持一致,如下。除了修改zoo.cfg配置文件外,zookeeper集群模式下还要配置一个myid文件,这个文件需要放在dataDir目录下。下载完成后拷贝到某服务器上,解压到/opt目录。修改zoo.cfg文件。

2023-02-28 16:45:29 323

原创 Docker搭建nextcloud+onlyoffice+ldap+smb协作编辑

点击应用,找到ONLYOFFICE,LDAO user group groupbackend,External storge support,安装后启用,进入管理设置可以看到LDAP/AD集成,外部存储,ONLYOFFICE代表成功。没有这几个应用的直接进这个网址下载下来,然后放到/data/docker/nextcloud/apps/ 里面进行解压即可。成功后进入mysql容器,创建数据库,这里的数据库名为nextcloud_db。主机:smb服务器ip,端口是(136或者445),一般不用端口就可以。

2023-02-24 18:10:08 2562

原创 openldap主机搭建

这些 Schema 文件位于 /etc/openldap/schema/ 目录中,定义了我们以后创建的条目可以使用哪些属性,这里先全部导入。其实这是在修改数据库的信息,数据库的配置在/etc/openldap/slapd.d/cn=config文件夹下。/etc/openldap/slapd.conf:OpenLDAP的主配置文件,记录根域信息,管理员名称,密码,日志,权限等。:这下面是/etc/openldap/slapd.conf配置信息生成的文件,每修改一次配置信息,这里的东西就要重新生成。

2022-12-02 15:33:52 1034

原创 ssh禁止某用户登录

一般来讲,出于安全问题,会考虑静止ssh的某些用户的登录。指定哪些用户可以登录ssh。

2022-11-15 11:25:03 751

原创 Centos7 开机卡死在桌面

一般来说是一些开机自启的东西使得Centos卡死,有可能是在/etc/rc.d/rc.local文件里加入的脚本,也有可能/etc/fstab文件里面自动挂载的硬盘。然后按Crtl+x执行进入单用户模式,然后修改对应的文件,修改完执行exex /sbin/init退出单用户模式即可。在里面找到一段LANG=en_US.UTF-\ 8结尾的话,在后面添加init=/bin/sh。1、在开机过程中,选择内核界面时,按e建 选择启动内核。Centos7 开机死卡成了这样,一动不动,如下图。

2022-10-17 14:31:57 3954

原创 ulimit命令限制liunx资源

ulimit命令用于限制liunx的每个用户的资源限制,包括文件句柄,一时间打开的文件数,进程数,内存大小等。

2022-10-12 14:32:10 494

原创 openldap认证smaba(smb)登录

samba+Ldap

2022-08-17 14:21:13 1393

原创 samba服务器搭建(Centos7)

smb服务器搭建

2022-08-17 11:22:45 1471

S32DS for S32 Platform RTC程序

S32K144接收到UART消息后,设置RTC警报时间为当前时间的5s后,触发警报后将当前天数+1,并将x1置1;在main函数中循环查看x1是否为1,为1时 输出当前时间

2026-01-22

STM32G0-FDCAN

STM32G0-FDCAN

2024-12-04

SOS-Administration

SOS closoft的管理者文档

2022-06-10

空空如也

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

TA关注的人

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