自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 裸机--STM32H743调用SD卡

本文介绍了在STM32H743VI单片机上实现SD卡读写功能的两种方法:1)通过DMA和CPU轮询直接读写SD卡;2)使用FATFS文件系统进行文件操作。实验发现使用DMA时FATFS无法正常工作,可能由于底层Bug,因此采用轮询方式。硬件采用32GB金士顿SD卡,软件使用Keil MDK5.33、STM32CubeMX V6.15.0等工具。实现了SD卡初始化、扇区读写测试、FATFS文件系统挂载/卸载、文件创建/读写/删除等功能,并提供了详细的代码实现和调试信息。通过串口助手验证了功能正常,包括SD卡信

2026-01-06 14:10:06 864

原创 STM32的串口通讯--DMA接收和CPU接收不定长数据帧对比,及对比带有CPU缓存的DMA使用区别以STM32H743为例,和多串口打印功能

本文探讨了在STM32单片机中实现7Mbps高波特率串口通讯的方案。针对传统单字节中断接收方式在高速率下CPU处理能力不足的问题,提出了基于DMA+空闲中断的接收方案。文中详细介绍了协议设计、DMA配置、缓存对齐处理等关键技术点,特别强调了带有CPU缓存的芯片需要禁用Cache区域以避免数据不一致问题。通过实际测试验证,该方案能有效解决高波特率串口通讯中的数据处理瓶颈,相比传统中断方式具有更好的稳定性和更低的CPU占用率。

2025-12-23 11:02:04 636

原创 ModubusRTU/TCP从机协议栈编写,举例应用在STM32中

本文介绍了一个基于STM32的Modbus RTU协议栈实现方案。该方案支持功能码0x01-0x06、0x0F、0x10,适用于连续地址的寄存器/线圈操作。协议栈采用中断方式接收数据,通过CRC校验确保数据完整性。文中详细说明了接收处理函数、各功能码实现方法及数据巡查机制,并提供了可配置的寄存器/线圈地址范围定义。该实现要求地址连续,不支持跳变地址操作,适用于RS485通信环境。使用时需将数据解析函数放入主循环中以确保实时响应。

2025-11-18 18:21:52 318

原创 STM32H743用CubeMX生成裸机代码,修改支持YT8512C、LAN8742、LAN8720三种phy芯片的以太网,且底层支持选择TCP客户端、TCP服务器、UDP三种通讯模式

本文详细介绍了基于STM32H743和YT8512C PHY芯片的以太网通信实现方案。使用CubeMX 6.15.0和Keil V5.33进行开发,配置静态IP且不检测网线拔出状态。重点包括硬件连接说明、CubeMX参数配置(时钟、复位引脚、LWIP设置等)、代码修改步骤(特别是针对非原生支持的YT8512C芯片的适配),以及TCP/UDP通信模式的实现。文中提供了时间片轮询调度算法的集成方法,并测试验证了三种网络模式的功能,同时指出了约18ms的通信延迟问题尚未解决。该方案为在STM32H743上实现以太

2025-11-06 11:18:10 1850 2

原创 STM32H743的以太网配置融合到CubeMx生成的底层中

摘要:本文详细介绍了基于STM32H743IITx单片机的以太网与CAN通讯配置方案。通过CubeMX生成底层工程(不含以太网),手动移植正点原子开发的以太网驱动库。硬件采用YT8512C百兆PHY芯片和TJA1051 CAN芯片,配置时钟树使系统主频达480MHz,CAN波特率500kbps。关键步骤包括替换HAL库文件、添加LWIP协议栈、配置工程路径等。特别说明需使用AC5编译器以避免兼容性问题,并提供了以太网数据收发接口的实现方法。该方案实现了CubeMX生成工程与手动配置以太网的融合,为工业通信应

2025-09-14 11:59:36 1040

原创 Matlab的硬件支持包获取及安装,例如安装PCAN支持安装包,实现SimuLink做研发上位机

本文介绍了PCAN驱动安装及Matlab硬件支持包配置流程。

2025-08-24 12:18:24 411 2

原创 FPGA-Vivado2017.4-建立AXI4用于单片机与FPGA之间数据互通

本文详细介绍了AXI4 IP核的创建与配置流程。首先通过工程向导创建IP核,选择AXI4接口并命名。设置数据传输参数时,最大支持512*32字节传输,其中前256个寄存器(slv_reg0-255)用于FPGA到MCU输入,后256个(slv_reg256-511)用于MCU到FPGA输出。重点说明了寄存器分配原则和必要的屏蔽操作:对输入寄存器需屏蔽防止数据被覆盖,输出寄存器同样需要屏蔽保护。最后完成内部例化调用和编程赋值,确保数据传输的完整性和安全性。整个流程强调寄存器配置的准确性,特别是输入输出方向的正

2025-08-18 17:08:04 440

原创 Vivado2017.4转入更换工程目录地址,重新编译及固化

本文介绍清除FPGA和MCU集成编程痕迹并重新固化的步骤。操作包括新建英文文件夹存放工程,清除原有固化和bootimage文件,清理生成痕迹后重新打开SDK编写MCU程序。关键步骤是新建FSBL辅助工程并等待完整编译,最后完成程序固化。

2025-07-18 13:10:41 339

原创 VCU快速原型开发库介绍

VCU的快速开发运行库介绍--持续更新

2025-07-14 22:28:53 1144

原创 BMS的简易Hil板卡介绍-持续更新中

摘要:BMS研发与功能验证HIL实验箱是一款便携式设备,用于电池管理系统(BMS)的研发学习和功能验证。该设备通过板卡系统模拟真实电池特性,包含3阶内阻模型、温度模拟、绝缘电阻检测等功能,避免了实际电池的安全风险。实验箱由箱体、计算机、多通道CAN接口及各类功能板卡组成,支持实时仿真。其中BMS主控板卡配备168MHz处理器,具有12V电源输出、CAN通讯、模拟量采集等功能;电阻板卡分为有极性和无极性两种,支持高精度电阻模拟;电池板卡则提供电压/电流输出及SOC估算模型。整套系统采用CAN通讯,支持故障注入

2025-07-11 15:19:20 507

原创 对S32K144做的BMS安装快速开发Simulink库及BMS例程介绍

建议使用配合BMS对接的简易HIL测试箱,确保自己后期开发的模型没有问题再用与实际使用场景,尽可能的避免出现经济损失性的BUG,特别是电池部分,用真电池很难把所有的故障信息表达出来,很容易有考虑不周的地方。提示:若电池数量不足,请保持每个采集芯片至少有3节电池,每个芯片的第一节电池位置和最后一节电池位置保证有电池存在,中间部分可以短接。供电电源8~32V,可防反接,2路硬件唤醒,支持1路CAN FD,支持硬件唤醒掉电后程序控制休眠。FS32K144,32位,100引脚,汽车级芯片。

2025-07-11 14:34:03 1347 1

原创 对S32K144做的VCU安装快速开发Simulink库及VCU例程介绍

3路CAN通讯,其中 2 路 CAN2.0B, ISO11898, 1路 CAN FD 兼容 CAN 2.0B,防静电保护,接口可选择带120Ω终端电阻或不带120Ω终端电阻。供电电源8~32V,支持20A电流输出,可防反接,2路硬件唤醒,支持1路CAN FD,支持硬件唤醒掉电后程序控制休眠,也可以做软件休眠软件唤醒。15路IO信号采集,可内部配置上下拉,其中有12路频率信号采集(包含占空比采集),有一路兼容CP信号采集,防静电保护。6路5V输出,平均每路500mA,每两路公用1个LDO,三个LDO输出。

2025-07-10 22:24:34 1391 4

原创 FGPA例化成IP

本文介绍了在Vivado 2017.4环境下为Xilinx xc7z100ffg900-21 FPGA芯片创建和使用自定义IP核的全过程。主要包括:将FPGA代码封装为IP核、配置IP核参数、生成IP核文件、将IP核添加到工程中、以及最终在设计中调用该IP核并进行系统连线和编译验证等步骤。文章通过12个步骤详细说明了从IP核创建到实际应用的操作流程,为开发者提供了在Vivado环境中开发和复用自定义IP核的实用指南。该方法可用于FPGA设计中的模块化开发和IP核复用。

2025-07-09 11:02:34 222

原创 Matlab的SimuLink对NXP的S32K3xx环境部署

利用官方发布的MBD搭载SimuLink对S32K3xx进行程序设计

2024-04-08 09:40:46 1802

原创 用BootLoader更新S32K144的固件

用BootLoader更新S32K144的固件

2023-11-29 18:10:31 1848 2

原创 S32K1xx的MBD工具箱加载及激活

MATLAB中加载S32K1系列的MBD工具

2023-10-10 17:24:12 2521 9

原创 STM32输出3对PWM互补信号做电机控制-C代码含keil仿真

基于MXCube控制

2023-08-23 17:37:47 2863 1

原创 电压信号转电流信号

利用方向思考的方式,逆行推理设计电路0-3V电压转换成0-10V或0-20mA电流输出

2023-08-08 18:59:41 1577 1

原创 Matlab对TMS320F28335编程--SVPWM配置互补PWM输出

FOC的核心算法及SVPWM输出,SVPWM的载波频率10kHz,SVPWM的每个周期都会触发ADC中断采集相电流,SVPWM为芯片ePWM4、5、6通道,配置死区

2023-08-03 22:18:27 1584

原创 Matlab对TMS320F28335编程-新建工程闪烁led灯

以SimuLink对TMS320F28335的GPIO65号管脚编程,使其该管脚的led灯闪烁

2023-08-03 20:33:16 1560

原创 制作DBC文件

用CANdb++空白模板建立CAN消息,包含消息建立、帧建立、节点建立

2023-07-30 11:12:55 2100 1

原创 STM32F103利用CubeMX配置开启定时中断

STM32F103利用CubeMX配置开启定时中断

2023-07-30 09:57:42 2216

原创 Matlab的SimuLink对FS32K144编程--内部数据存储Flash

Matlab的SimuLink对FS32K144编程--内部数据存储Flash,存储一些标定量,断电能保存的数据

2023-07-28 09:59:46 784

原创 Matlab的SimuLink对FS32K144编程--SPI通讯控制12bitDAC输出

SimuLink编程配置S32K144配置SPI通讯控制AD5828输出8路模拟量,范围0-5V

2023-07-28 09:28:56 2125

原创 FS32K144用官方Bootloader为底层用RAppIDL BL Tool工具下载升级程序

对上一篇《FS32K144官方提供串口Bootloader对接Matlab串口烧写程序》进行补充

2023-07-27 17:39:25 901

原创 FS32K144官方提供串口Bootloader对接Matlab串口烧写程序

先把bootloader的底层烧写进单片机,然后可以用simulink利用串口升级程序

2023-07-27 15:45:01 1497 1

原创 C语言-MODBUS的CRC16位校验函数

可直接调用

2023-07-19 09:54:00 609

原创 Matlab对FS32K144编程--串口通讯

Matlab对FS32K144编程--串口通讯

2023-07-19 09:51:49 302

原创 Matlab对FS32K144编程--CAN通讯

Matlab对FS32K144编程--CAN通讯

2023-07-19 09:20:07 722

原创 FreeMASTER 2.0对Matlab生成的代码编译工程进行测量标定

FreeMASTER 2.0对Matlab生成的代码编译工程进行测量标定

2023-07-18 17:42:55 631

原创 Matlab的SimuLink对FS32K144编程-ADC采集、IO采集、IO输出

Matlab的SimuLink对FS32K144编程-ADC采集、IO采集、IO输出

2023-07-18 14:21:33 1144

原创 利用NXP的官方配置库用MATLAB新建S32K144工程

利用Matlab建立新的FS32K144编程工程并仿真烧入到单片机

2023-07-17 16:15:08 1774 6

原创 电机传感器-旋转旋变变压器编码器工作机制

旋变变压器编码器原理分析

2023-06-22 21:40:10 2237

原创 STM32F103串口接受发送数据,通过CubeMX配置底层,重做接受机制

优点:实时性好,此函数一运行,单片机立刻发送,传统的485电路可用此函数,在此函数前开启485发送机制,运行此函数后,关闭485发送机制打开接受机制--具体操作,函数代码前加上控制“485RT”为高电平的指令,函数代码后加上控制“485RT”为低电平的指令。缺点:实时性差,发送会延时,传统的485电路(由单片机决定发送接受时机)比较难判断发送时机。此函数为STM32内部接受中断的回调函数--收到串口信息即执行此函数。1、配置MX的串口(默认其他配置已完成),这里用的是MDK的RAM编译器。

2023-05-13 09:16:56 1679 2

原创 C代码用时间片论任务调度的方式扫描按键并消抖

C代码用时间片论任务调度的方式扫描按键并消抖

2023-01-13 08:32:21 748

原创 FOC控制-以SVPWM理论控制矢量磁场

SVPWM理论控制矢量磁场

2022-11-30 10:58:44 909 1

原创 Matlab对接STM32F103-CAN收发

Matlab对接STM32F103-CAN收发

2022-11-03 23:40:35 1693 2

原创 MATLAB2018b对接STM32CubeMX生成代码MDK编译

MATLAB2018b对接STM32CubeMX生成代码MDK编译

2022-10-28 17:13:01 1553 2

原创 MATLAB2018b加载STM32系列单片机底层库

MATLAB2018b加载STM32系列单片机底层库

2022-10-28 10:30:53 1024

原创 STM32F103使用MX搭载CAN通讯配置

STM32F103的CAN通讯配置主要部分

2022-10-12 12:59:13 2288

BMS的HIL操作简易介绍

BMS的HIL操作简易介绍

2026-01-03

VCU-HIL车辆模型加载及界面操作简介

VCU-HIL车辆模型加载及界面操作简介

2025-12-17

VCU-HIL-硬件环境搭建及硬件检测

VCU-HIL-硬件环境搭建及硬件检测

2025-12-16

ModubusRTU/TCP从机协议栈编写,举例应用在STM32中

Modbus RTU 协议栈应用在STM32F103中例子

2025-11-18

STM32H743用CubeMX生成裸机代码,修改支持YT8512C、LAN8742、LAN8720三种phy芯片的以太网,且底层支持选择TCP客户端、TCP服务器、UDP三种通讯模式

本文使用的代码及配置文件

2025-11-06

STM32H743的以太网配置融合到CubeMx生成的底层中

例程

2025-09-14

VCU控制器快速原型开发库原件,Matlab、SimuLink、代码生成

Matlab用SimuLink编程一键代码生成、编译、下载工具

2025-07-17

Matlab对TMS320F28335编程-SVPWM配置互补PWM输出

搭建的模型仅供参考

2023-08-03

Matlab对STM32F103芯片开发模型例程

SimuLink是个强大的数学工具,利用数学工具和单片机直接配合,能起到事半功倍的效果,例程里面提供定时器配置、CAN通讯配置、数码管显示等。并配有软件STM32对接SimuLink工具库

2023-07-30

Matlab的SimuLink对FS32K144编程

FS32K144用Matlab编程的测试用例

2023-07-28

FS32K144UAT0VLLT LQFP100的Bootloader

对接Matlab的SimuLink的官方库,可用simulink加载串口对单片机升级固件,不再需要下载器更新程序(下载此程序到单片机需要下载器,如Jlink)

2023-07-27

空空如也

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

TA关注的人

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