自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【零基础学python】python高级语法(四)

一个程序有些功能代码可能会用到很多次,如果每次都写这样一段重复的代码,不但费时费力、容易出错,而且交给别人时也很麻烦,所以编程语言支持将代码以固定的格式封装(包装)成一个独立的代码块,只要知道这个代码块的名字就可以重复使用它,这个代码块就叫做函数(Function)集合是由一组元素组成的,这些元素只能是不可变数据类型的,在集合中每个元素都是唯一的,即集合中不存在重复的元素。在编程中,函数的参数指的是函数定义中声明的变量,用于接收函数调用时传递的数据。在不同的作用域中,变量和函数的可见性和访问性是不同的。

2025-03-26 22:38:24 756

原创 【零基础学python】python高级语法(三)

浅拷贝(shallow Copy)是创建一个新的列表对象,该对象与原始列表共享相同的元素对象。是指创建后不能更改其值或状态的对象。如果对不可变类型的对象进行修改,将会创建一个新的对象,原始对象的值保持不变。2,元组使用圆括号()来表示,其中的元素可以是任意类型,并且可以包合重复的元素。列表推导式(List comprehensions)是一种简洁的语法,用于创建新的列表,并可以在创建过程中对元素进行转换、筛选或组合操作。1,元组(Tuple)是Python中的一种数据类型,它是一个有序的、木可变的序列。

2025-03-25 21:31:51 977

原创 【零基础学python】python基础语法(二)

在Python中,字符串的转义符是反斜杠\,可以用来表示一些特殊的字符,如单引号、双引号、换行符、制表符等。需要注意的是,在Python 3中,整型变量可以表示任意大小的整数(在内存允许的情况下),因此不需要担心整型溢出的问题。如果条件为真,就执行循环体中的代码,然后再次检查条件。在执行for循环时,程序会依次将序列中的每个元素赋值给变量,并执行循环体中的代码,直到序列中的所有元素都被遍历完为止。其中,条件 是一个布尔表达式,如果它的结果为 True,则执行第一个代码块,否则执行第二个代码块。

2025-03-24 18:30:03 1015

原创 【零基础学python】python基础语法(一)

PEP 8是Python编程语言的官方编码风格指南(Python Enhancement Proposal8),它提供了一套规范和建议,用于编写清晰、易读和一致的Python代码。3.变量名应该具有描述性,以便代码的可读性更高,例如在代码中使用的名称应该清晰、简洁、有意义,避免使用缩写或单个字符。用于标识变量的字符串,变量名由字母、数字和下划线组成,必须以字母或下划线开头,不能以数字开头。使用空行来组织代码,例如在函数和类定义之间、函数内部的逻辑块之间使用4空行。注释应该清晰、简洁,并遵循特定的注释。

2025-03-24 17:58:12 599

原创 DRV8323芯片电机驱动芯片常见硬件连接线路的简介

DRV8323是德州仪器(TI)推出的一款三相无刷直流电机(BLDC)驱动器,适用于高效电机控制应用。该芯片集成了栅极驱动、保护功能,支持外部 MOSFET控制,适用于 12V~60V 的电机系统。AGND(模拟地)主要用于模拟电路(如 ADC、DAC、运放等),这些电路对噪声非常敏感。其电位参考通常与低噪声、高精度信号相关,要求地电平稳定,避免高频开关噪声的影响。DGND(数字地)主要用于数字电路(如 MCU、DSP、FPGA、数字接口等)。

2025-03-23 18:45:26 907

原创 【STM32项目实战系列】基于STM32G474的使用DMA的ADC驱动配置

由于项目中使用的是STM32G474型号的相关芯片,所以就以这款芯片为例进行相关的介绍,DMA模块是实现高效数据搬运的关键硬件模块,尤其在ADC采样、UART数据传输以及电机FOC控制等场景中具有广泛应用。通过合理使用DMA,可以显著降低CPU负载,提升系统实时性。DMA又被称为协处理器,帮助CPU进行数据搬运工作,可以有效降低负担。1,直接内存访问(DMA)控制器是总线主控器和系统外围设备。2,DMA用于在卸载的CPU的控制下,在内存映射的外设和/或内存之间执行可编程的数据传输。

2025-03-14 00:47:28 922

原创 【STM32项目实战系列】基于STM32G474的看门狗驱动配置

看门狗是一种硬件定时器,用于监控系统的运行状态。如果系统由于软件错误或硬件故障导致无法正常工作时,看门狗会在设定的时间内未被“喂狗”(即重置定时器)时,自动复位系统,从而恢复系统的正常运行。STM32G474提供了两种看门狗外设:独立看门狗(IWDG):基于独立的低速内部时钟(LSI),适用于需要高可靠性的场合。窗口看门狗(WWDG):基于APB1总线时钟,适用于需要精确时间窗口监控的场合。以下详细介绍参考官方提供的参考手册:估计这大家读一篇就会对于这个外设功能有一个详细的了解。

2025-03-09 18:14:23 978

原创 【STM32项目实战系列】基于STM32G474的ADC驱动配置

由于本篇文章使用到的主控芯片是STM32G474,所以第一件事情就需要找到官网上面的参考手册进行查看STM32G474RE - 主流Arm Cortex-M4内核MCU,工作频率170 MHz,具有512 KB Flash存储器,数学加速器,HR定时器,高模拟集成度 - 意法半导体STMicroelectronics当然了,正所谓举一反三,触类旁通,基于其他主控MCU的ADC配置也是需要先找到对应的官网上面的参考手册,先查看其基本信息在进行合理的配置使用。

2025-03-09 17:11:08 1084

原创 【STM32项目实战系列】基于STM32G474的FDCAN驱动配置

先简单介绍一下CANFD:FDCAN(Flexible Data-Rate CAN,灵活数据速率 CAN)是 CAN-FD(CAN with Flexible Data-Rate)协议的实现,支持更高的传输速率和更大的数据负载。FDCAN 通信主要由仲裁域(Arbitration Phase)和数据域(Data Phase)组成,它们在波特率和位定时参数上有所不同。这里配置的FDCAN外设的时钟为100MHZ1,相较于传统的CAN,CANFD仲裁域与数据域的波特率可以不同也可以相同,仲裁阶段。

2025-03-05 00:03:47 1089

原创 Deepseek老是服务器繁忙,别担心,看下面的操作

今年春节deepseek异常火爆,国产大模型要崛起?等等怎么没用了几次就显示服务器繁忙啊,这体验不太好,是国产大模型不行吗?还真不是,模型推理能力依旧是很强大,但是基于算力的缘故,这个无法避免,但是我们可以用其他的方法去规避,果然在网上就查到了这个方法,傻瓜式操作就会解决了,话不多说,直接放图。

2025-02-24 22:45:25 312

原创 如何在VScode中使用DeepSeek对话辅助开发

前言:最近DeepSeek的使用热度非常高,由于笔者是经常使用VScode工具编写代码,就冒出了一个想法,能不能把这个大模型加载到VScode上面辅助我日常中的一些开发工作呢?网上搜了一下果然是可以的。

2025-02-13 16:12:50 268

原创 【实用资料】FreeRTOS实时内核使用指南_中文

这个是找的一个网上的一个大神分享的自己翻译的一个freertos实时内核使用指南,感觉可以学到很多东西,特地分享出来。需要的人可以免费下载。

2025-02-11 18:47:03 87

原创 基于STM32G474的FreeRTOS移植教程

Source:包含 FreeRTOS 内核的源代码。Demo:包含针对不同硬件平台的示例工程。License:包含 FreeRTOS 的许可文件。

2025-02-11 18:33:37 1054

原创 关于一些感想

从学生时代接触第一个STM32的电子称项目开始到工作将2年多时间接触的各种大大小小的项目以来,有从0到1再到100的项目,也有从1到10的项目,一直就有种想把开发的整个实时过称记录下来的想法,但是终究没有能够执行。恰巧2025年开年公司又有了一个全新的项目,这一次就不想再错过机会,打算记录下自己的开发的过程,包括但不限使用的技术栈的分享、遇到的BUG问题解决的心路历程、开发过程所使用的创新的方法的分享等等。因此,选择适合的关节电机并进行精细的控制策略优化,是开发高效人形机器人的关键之一。

2025-02-06 18:02:46 345

原创 【个人的一些开年感想(2025-01-24发)】

有时候想的时间长了,甚至会想到自己刚刚上大学到现在将近6年的时间,我都在做什么事情,哪些是特别后悔的,哪些又是自己想做但是没有来得及做的事情。想了很多,然后又结合我所了解到的一些所谓天赋异禀的、年少成名的或者是在我这个年纪之前就取得过非凡成就的人,不自觉的就会拿来做一下对比,发现自己怎么是如此的平庸啊!“每个人的花期不同”;马上就要春节回家了,就这临近过年的几天,几乎我每天下班回到出租屋后,自己都会把书包往床上一扔到小区到附近的公园散步,回想一下自己的全年的收获,全年的不足或者遇到的挫折与打击。

2025-01-24 17:39:43 206 1

原创 【实用小工具分享】文档或者文件夹比较工具

我们在写代码的过程中有时会比较一下当下写的与历史版本的差别,这个时候就需要用到这个比较工具了,非常方便这里上传分享给大家。

2025-01-24 15:49:12 146 1

原创 【STM32项目实战系列】了解ST系列MCU外设:定时器TIM

根据官方的F4的参考手册里面的内容,共有2个高级控制定时器TIM1、TIM8,2个基本定时器TIM6、TIM7,10个通用定时器TIM2~TIM5、TIM9~TIM14(PS:这里面的内容基本适用于整个STM32F4系列的微控制器)定时功能(Timer):所有的TIM定时器都可以用作基本的计时器,计时器周期可以通过外部时钟源或内部时钟源来控制。计时器的计数值可以用来生成定时中断或控制其他外设。PWM输出:定时器能够生成精确的PWM信号,广泛应用于电机控制、亮度调节、音频输出等领域。

2025-01-24 15:22:13 898

原创 【STM32项目实战系列】基于CUBEMX创建一个ST项目工程(详细版)

点击生成代码,找到工程位置打开即可。随着嵌入式系统的发展,开发流程变得愈加复杂,传统的手动配置和调试方式已难以满足快速发展的需求。作为STMicroelectronics推出的强大工具,极大地简化了STM32系列微控制器的配置与初始化工作,提供了自动化的代码生成,减少了开发过程中的人为错误和重复性工作。通过图形化的界面,用户能够轻松选择硬件配置、外设设置以及时钟配置,极大地提升了开发效率。

2025-01-23 15:12:10 1113 6

原创 【STM32项目实战系列】STM32F412主控及相关系列介绍

核心特性内核:基于 ARM Cortex-M4 处理器,运行频率高达 100 MHz,具有单精度 FPU(浮点运算单元)和 DSP(数字信号处理)指令。闪存和 SRAM512KB 闪存(适用于程序存储)。128KB SRAM(用于数据存储和堆栈)。工作电压:2.0V ~ 3.6V,支持低功耗工作模式。

2025-01-20 18:34:13 1252 3

原创 【STM32项目实战系列】系列开篇导语

简单来讲就是基于STM32的主控芯片的实际应用项目的介绍(当然根据不同的项目功能特性需要使用不同的系列的ST主控芯片),这里面会涉及到基础工程的建立、各种驱动外设、中断和时钟的配置、RTOS的移植方法、文件系统的移植方法、还有项目中其他的一些需要与主控配合实现产品功能的一些模组的使用方法等等。

2025-01-20 17:31:03 540

原创 一文详解makefile语法

makefile可以简单的认为是一个工程文件的编译规则,描述了整个工程的自动编译和链接的规则。//例如:fs/ext2/Makefile#这行表示将-DDEBUG编译标志添加到编译过程中。这是针对内核模块或内核代码的构建,通常用于启用调试功能#类似于上一行,这行表示将-DVERBOSE_DEBUG编译标志添加到编译过程中#指定了一个目标文件(objectfile)#这一行定义了模块的构建目标文件#这行添加了-g标志到KBUILD_CFLAGS中。

2025-01-17 18:07:39 810

原创 【S32DS项目实战系列】S32K344芯片资源简介

S32K 系列是 NXP 半导体推出的一系列基于内核的微控制器,专为汽车、工业控制、嵌入式物联网等应用设计。该系列芯片提供不同的性能等级、外设选项和内存配置,以满足各种需求。处理器架构核心:ARM Cortex-M7,支持双发射(dual-issue),并具有硬浮点单元(FPU)和双精度浮点运算。主频:最高可达150 MHz,适用于高计算需求的应用。内存RAM:512 KB 高速RAM。Flash:最大16 MB(外部存储支持)。缓存L1 缓存。

2025-01-17 15:47:29 1344

原创 【实用小工具】ASCII码表

简介:ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准ISO/IEC 646。ASCII第一次以规范标准的类型发表是在1967年,最后一次更新则是在1986年,至今为止共定义了128个字符。程序的开发的过程中难免会需要查询一下ASCII码,这边笔者分享一个网站,可以很方便的查询。

2025-01-17 15:06:37 188

原创 【嵌入式常识篇】一个C项目工程在IDE中是怎么一步步编译成一个固件包的

初学C语言的时候是在Linux环境下,那时候只知道需要通过GCC工具编译成可执行文件才可以在运行,后来进入到了嵌入式行业发现需要IDE将一个C项目工程编译成一个固件包,那时候经常会产生一个疑问:一个C项目工程在IDE中是怎么一步步编译成一个固件包的呢?下面就解答一下这个疑问。时光荏苒,也算是给当年刚入行的自己一个答案。

2025-01-13 16:48:54 1280

原创 Ubuntu虚拟机网络设置遇到的问题:“无法将网络更改为桥接状态: 没有未桥接的主机网络适配器”

以前在Windows上面装过好几次的Ubuntu,都没有遇到过无法桥接网络的问题,但是最近一次我发现桥接不了了,网上查了很多大佬们的经验文章,终于可以了,也顺便记录一下吧。

2025-01-09 16:21:21 944

原创 手把手教你安装Ubuntu虚拟机

最近由于需要Linux环境来跑一些脚本,所以需要安装一下虚拟机,在这里选择Ubuntu桌面操作系统,虚拟机是VM,话不多说,直接上教程。。。

2025-01-09 13:42:10 1064

原创 【S32DS项目实战系列】链接sh脚本辅助编译生成固件包

当然设S32DS支持的是基于UNIX环境的sh脚本文件,至于为什么。。。就是下面的解释了。。。S32DS 使用的 GNU 工具链(如 ARM GCC、Make 等)是跨平台的,但本质上它是为 UNIX 环境设计的。在 Windows 上,S32DS 通常捆绑了一个轻量级的 UNIX 环境,例如 MinGW 或 MSYS,这些环境中提供了sh作为默认的 shellS32DS 在生成项目时,默认的Makefile会直接调用sh来解释和执行脚本。这是因为很多构建步骤在 UNIX 系统上直接运行sh。

2025-01-08 16:11:54 479

原创 【S32DS项目实战系列】项目加载工程出现大量报错

接续前面的话,笔者因为一些RTD库安装的问题,导致了一些报错,重新安装了软件与RTD库之后结果在加载老工程的时候又出现了大量关于LPUART的报错,由于距离第一次建立项目工程已经有很长的时间了,所以翻了前面的记录才知道,还需要改一下一个头文件。说明一下,这个文章仅限于记录一下。。。

2025-01-06 14:21:05 250

原创 【S32DS项目实战系列】项目工程外设 之 C40_IP组件

在S32DS IDE安装的目录下面的找到一下头文件,并复制到自建的文件夹里面用于自己建立的RTD库当中,当然这个是为了方面进行文件管理。

2025-01-06 13:38:44 1157

原创 如何使用ZCANPRO进行CAN数据回放

在汽车电子领域出现某一个故障要进行查找问题原因的时候,现场的技术人员往往会录一段实时报文文件,这个时候研发者拿到这个文件之后就要根据这个文件进行数据回放以便于更好的查找问题原因,其实市场上面有很多CAN分析软件都可以进行数据回放,这里就介绍一下基于ZLG的UBCAN200U设备与ZCANPRO软件的CAN数据分析回放的方法。

2025-01-02 11:18:16 1903 4

原创 【S32DS项目实战系列】报错d:/s32ds/s32ds/build_tools/gcc_v10.2/gcc-10.2-arm32-eabi/bin/../lib/gcc/arm-none-eabi

笔者在最开始使用S32DS配置工程中看门狗模块的时候出现了一个报错,刚开始看的时候也摸不到头脑,但是后面才知道原来是有个回调函数需要自己定义一下,浅浅记录一下。解决:在工程中加入重新定义一下这个回调函数就可以了。这么简单找了半天还是得太多练。

2024-12-21 15:52:19 316

原创 一文了解BAT批处理文件语法

前面介绍了shell的语法,这主要是基于UNIX与Linux操作系统的,虽然后来Windows后来也推出了powershell,但是bat批处理脚本才是其原生的脚本语言,使用windows几乎也是避不开这个脚本文件,下面就来介绍一下这个语法规则,相较于shell,bat的规则就简单多了。

2024-12-18 19:29:53 1026

原创 【S32DS 项目实战系列】切换芯片的封装方案

中完成了一个S32K3工程的创建。但我们似乎遗漏了一点:没有配置MCU芯片的封装Package:MAPBGA(BGA),HDQFP(MQFP),LQFP,下面是更改一下芯片的封装方案的方法。·嘿嘿,就简单补充一下。

2024-12-18 17:55:18 285

原创 一文了解shell语法(二)

咱们接着上面的文章来继续介绍shell脚本语法,整体来看语法量还是挺大的。。。

2024-12-17 20:04:07 776

原创 一文了解shell语法(一)

注意:Shell只有字符串这一种类型,所有的变量或变量值都可以看作是字符串# 格式一command;# 格式二command;command;# 格式三fun_name()command;command;6.2 函数的传参调用函数时,只需要将参数写在函数名后面即可,使用空格进行分隔函数内部通过Shell预定义的位置变量就可以接收到调用函数时传递的参数函数可以接受多个参数,使用 $1, $2, ..., $N 来引用这些参数使用 $@ 或 $* 来引用所有参数。

2024-12-17 18:19:35 743

原创 如何新建一个S32DS工程

前面笔者写过一篇介绍如何安装S32DS软件的文章,也说过要来写一个如何新建工程的文章,现在就来填坑了。还是一句话:输出就是最好的学习方式,与大家共同勉励,技术学习的过程中有时候是枯燥的,但是要学会苦中作乐,分享学习就是很好的学习方式之一。

2024-11-20 16:42:50 288

原创 一文简单了解单片机bootloader程序

记得刚开始学习单片机的时候只会在开发版上面按照现成的原理图进行设计并烧录程序,知道程序是从main函数开始执行的,后面随着从脱离象牙塔的学校学习转而进入到实际运用的工作当中去,发现设计一款单片机的boot程序也算是一个必备的技能,从开始对它的朦胧概念到慢慢不断的深入了解,当然其中也参考了一些技术博主的文章(相关项都总结的人不错,我都一并将其放到文章的下面),也是本着输出就是最好的学习,所以就先浅浅的记录一下吧。

2024-11-20 10:23:30 1613

原创 华为C语言编程规范(精简二次总结)

说明: 在头文件中定义变量,将会由于头文件被其他.c文件包含而导致变量重复定义。说明:如果一个函数只是在同一文件中的其他地方调用,那么就用static声明。使用static确保只是在声明它的文件中是可见的,并且避免了和其他文件或库中的相同标识符发生混淆的可能性。建议定义一个STATIC宏,在调试阶段,将STATIC定义为static,版本发布时,改为空,以便于后续的打热补丁等操作实际上,各种风格都有其优势也有其劣势,而且往往和个人的审美观有关。

2024-11-12 22:53:22 1120

原创 一文看懂三种常见的CAN报文排列格式--Motorola_MSB、Motorola_LSB、Intel

Most Significant bit-- 最高有效位。

2024-11-06 16:27:27 4888 8

原创 python代码打包成exe可执行文件

python作为一款非常强大的解释性语言,有时候我们会利用它写一些小程序类的功能的代码,这个时候如果要发给其他人使用,而对方有没有安装python解释器的话会执行不了,这个时候就要把这个.py文件生成可以在Windows上面执行的可执行文件,活不多说,直接上交教程。。。

2024-11-05 14:36:14 416

FreeRTOS实时内核使用指南-中文

2025-02-11

FreeRTOSv10.2.1的源码

FreeRTOSv10.2.1的源码

2025-02-11

【实用小工具分享】文档或者文件夹比较工具

这是一款比较不同文件或者文档差别的小工具

2025-01-24

【STM32项目实战系列】了解ST系列MCU外设:定时器TIM

这个是关于STM32F4系列芯片的参考手册

2025-01-24

【STM32项目实战系列】STM32F412主控及相关系列介绍

关于STM32全系列的微控制器的选型手册

2025-01-20

C语言练习作业(答案也一并截图包含其中).zip

C语言小白入门级练习题,仅供参考,答案也一并截图包含其中

2022-11-03

空空如也

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

TA关注的人

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