自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 STM32 ADC 多位同时翻转 问题分析

摘要:STM32H723的ADC采集时出现固定偏移现象(如0x6BA0突变为0x6C00),AI分析指出这是SAR ADC内部DAC电容阵列多位同时翻转引发的电源/地弹噪声,导致参考电压瞬间波动。根本原因为VREF+去耦电容布局不当(未就近放置),瞬态电流引发比较器误判。通过就近增加去耦电容后问题解决,验证了分析的正确性。该案例凸显高速ADC设计中电源去耦布局的关键性。

2026-07-16 15:04:20 180

原创 定时器同步启动

定时器TIM5产生160KHz矩形波,每次中断触发一次DAC(每次输出为sin的16个点之一)输出信号,模拟10KHz的sin波形输出。滤除高频信号,输出10KHz的正弦波。使用旋转变压器,输入10KHz的sin正弦波,输出10KHz的sin正弦波和cos正弦波。对输出10KHz的sin正弦波和cos正弦波的波峰波谷进行采样。用于考虑旋变输入信号与输出信号的延时,让采样能准确采样在波峰波谷。TIM8同步启动TIM5,同时在TIM8的OCxREF改变时,触发ADC3采样sin/cos的波峰和波谷,见下图。

2026-06-17 12:13:45 197

原创 电机直驱与液压马达驱动调试差异

一、现象液压马达无法带动在坡上的满载工程车辆,液压溢流阀溢流,还能听到电机在嗡嗡转。二、分析初步分析:液压溢流,油管中压力已经够了,但是车辆就是无法坡起。怀疑还和其他因素有关!AI查找:表明扭矩与和成正比Tt):最终分析:能否坡起,与液压马达对外输出的扭矩有关;而扭矩与工作压力和排量有关:工作压力与电机输出扭矩相关,排量与电机转速有关。电机扭矩与电机转速相乘就是输出功率,表明液压马达的扭矩是功率相关的。这一点与电机直驱是有很大的差异的。直驱时,转速为零,作用在工程车辆上,也可以驱动车辆。

2026-06-12 17:59:30 272

原创 STM32 TIM1定时器 互补输出分析(MOE=0)

OCIdleState OCNIdleState] = [ SET SET] 实际输出[OCx OCxN] = [高电平 高电平][OCIdleState OCNIdleState] = [RESET SET] 实际输出[OCx OCxN] = [低电平 高电平][OCIdleState OCNIdleState] = [RESET RESET] 实际输出[OCx OCxN] = [高电平 高电平]死区过后空闲时间 OCx=OISx OCNx=OISxN。

2026-05-29 15:16:34 228

原创 efr32 zigbee OTA升级测试

本文介绍了基于EFR32芯片的Zigbee设备OTA升级流程。首先准备了bootloader程序、应用程序和Commander工具,详细说明了GBL文件生成方法及烧录步骤。其次测试了bootloader升级功能,验证了程序切换效果。重点阐述了OTA升级协议实现:包括固件分布结构(逻辑层和物理层)、OTA文件生成命令、升级通知触发机制以及Server端处理流程。最后提出了完整的OTA升级测试方案,涉及设备配置、OTA文件拆解、烧录和升级触发等步骤。整个过程涵盖了从固件准备到远程升级的完整链路,为Zigbee设

2026-03-27 20:28:04 301

原创 EFR32 zigbee通信测试(基于zigbee_gpd_switch 与 zigbee_gp_z3_light_combo)

摘要:本文介绍了基于Zigbee的终端设备(zigbee_gpd_switch)与协调器(zigbee_gp_z3_light_combo)的配置与测试方法。终端设备需配置中断+上拉按键,协调器使用相同配置但需调整LED指示灯。测试过程包括程序烧录、自动入网验证及手动入网操作(终端设备长按退网、短按入网,协调器点按切换模式)。入网成功状态通过Comm.State:6标识,并实现指示灯切换功能。

2026-03-05 15:23:12 61

原创 EFR32单片机开发实例解析

4、生成的工程文件如下图所示(其中blink.c文件及app.c文件中部分代码为仿照 一、LED灯闪烁 添加及编写的)其中app.c blink.c为该模板生成LED闪烁实例程序,下面提到的模板就没有,需要自己手动添加。2、使用自己的开发板,其中PC05为蓝灯,故Pin Tool配置界面如下图所示。3、使用自己的开发板,其中PC04为绿灯,故Pin Tool配置界面如下图所示。该配置只是配置LED驱动,而非直接关联LED闪烁实例程序,这一点很重要!3、生成的工程结构如下图所示。4、打开汇编调试界面。

2026-02-25 17:09:27 209

原创 芯科SiliconLabs efr32mg21无线单片机开发流程——从零到初级(初学者)

本文介绍了使用EFR32MG21单片机控制LED闪烁的开发流程。首先准备J-Link仿真器、开发板和开发环境(Simplicity Studio和VS Code)。在Simplicity Studio中创建Blink示例工程,配置PC04引脚控制LED,通过引脚工具完成引脚映射。然后通过VS Code进行代码编辑、编译和调试,连接硬件后即可实现500ms周期的LED闪烁功能。开发过程中需要注意Simplicity Studio与VS Code的插件集成配置。

2026-02-12 17:12:00 368

原创 软件复位导致复位管脚NRST产生复位脉冲问题分析

在开发某个功能时,需要STM32芯片一直活着,与DSP芯片进行数据交互。DSP芯片在实现功能时,必须进行软件看门狗复位,发现:STM32芯片也跟着一起复位了。在开发二合一产品时,为了共用硬件看门狗,将两个产品的复位管脚连接在一起。两个产品分别使用的STM32芯片和DSP芯片。STM32在进行软件复位时,也有类似问题,会在复位管脚NRST产生29us复位脉冲,如下图所示。DSP芯片在进行软件看门狗复位时,会在复位管脚XRSn产生57us复位脉冲,如下图所示。

2025-11-20 10:35:43 263

原创 STM32CubeMX 无法生成KEIL工程

搜索Fimware Package(STM32Cube_FW_H7_V1.12.1),发现其在如下路径下。后来因为权限原因,电脑新建了Administrator用户,一直在其中处理事情,忘记这件事了。今天新建一个cubeMx工程,发现无法生成keil工程,提示如下错误。印象中,STM32H7相关的cubeMx软件、软件包已经成功安装,并可以正常生成keil工程。注:本来想把该库,直接复制一份放到Administrator用户下,无奈相关的信息占用硬盘控件太大,放弃了。

2025-06-13 15:35:48 1313

原创 STM32 ADC校准调试心得

进行了1)2)操作后,对比UV相采集(使用ADC1),懵了,咋滴,ADC2与ADC1还一样,校准后采集还有误差。开始以为是硬件差异,导致电流为零时,基准时差异,故没有管他,想着后期采用软件直接校准即可。前天在给电机加100A电流时,发现W相差了10A左右电流,10%偏差了(UV相都准确),稍微有点大。a)在UM手册中搜索offset关键词,发现一种偏置校准方法:发现方法太麻烦,也不知道这么做,会不会带来其他后果。想着校准函数,最终也是将校准数据写入相应的寄存器,不如直接修改该寄存器值,这样既快既安全。

2025-06-05 10:53:35 756

原创 STM32H723芯片 ADC1 DMA方式 采集数据注意事项

原因是stm32H723中的DR寄存器为32位(其他类型单片机DR寄存器为32位但是高16位为预留),仍然采用DMA 16位去访问,故有问题。DMA方式进行ADC数据搬用时,初次配置为16bit数据(如下配置),DMA报TEIFx错误,并且DMA自动关闭。

2025-04-16 17:54:13 684

原创 STM32定时器触发ADC采集详细分析——选择ADC_EXTERNALTRIGINJEC_T1_CC4无效果的原因

在查找问题过程中,了解了一下定时器TIM1 43.3.10 Output compare mode / 43.3.11 PWM mode 区别。有人用Output compare mode实现了单个定时器 多通道不同频率设置 也是挺牛的。不过频率设置有一些局限性,不能每个通道任意频率设置。关于这个功能,英飞凌TC1784就比较牛,可以每个通道任意频率设置且思想与STM32单个定时器 多通道不同频率设置有一点像。想了解的同学可以看一下我的博客。

2025-04-16 13:30:00 1307 2

原创 STM32H7 pack包 安装失败解决办法

前一段时间安装STM32G4系列pack包,提示pdsc文件无法拷入.\Download文件下,以为是文件权限的事,各种捣鼓均未安装成功,最后将cubeMx当中的文件拷贝到pack对应位置(pdsc文件手动拷入.\Download文件下),运行成功。今天又有STM32H7 pack包安装,也是同样问题。本来想着按照STM32G4系列步骤一样搞,但是奈何从cubeMx下拷入的文件太大(3几个G)。

2025-02-07 10:03:57 1959

原创 KEIL中C99模式下,函数未声明造成的奇怪现象

keil C99 implicit function declaration

2025-01-23 15:19:27 862

原创 TASKING VX-toolset for TriCore新建工程及miniWiggler在线调试说明

1、电脑安装Infineon Memtool 2021 (为了安装DAS miniWiggler在线调试需要)4、英飞凌芯片型号TC1784。

2025-01-07 18:00:24 1400

原创 关于STM32调试端口SWD的说明

JLINK SWD 上拉电阻 波形

2025-01-03 09:26:43 1600

原创 infieon TriCore架构 TC1784 CAN使用方法

MO 0 配置DIR为接收 其余根据情况配置 FIFO 选择Receive fifo base object 选择BOT MO0 选择TOP MO3 选择SEL为MO2 MO中断不需要配置。LIst1(node0) MO 000 --- MO003(用于接收fifo) MO 004--- MO007(用于发送fifo)LIst2(node0) MO 032 --- MO035(用于接收fifo) MO 036--- MO039(用于发送fifo)3、CAN接收与发送。

2024-02-28 11:34:38 617

原创 infieon TriCore架构 TC1784 ADC使用方法(含DMA方式)

tricore tc1784 ADC DMA

2024-02-23 10:55:10 1186 1

原创 multiprog编写的应用程序无法兼容到新升级的底层问题处理

multiprog IAR icf RAM

2023-01-30 15:27:16 899

原创 stm32 HAL库 使用UART注意事项 数据接收 空闲中断 DMA

HAL库 STM32 RTO 空闲中断 DMA IDLE

2022-10-18 10:28:52 1989

原创 STM32 高级定时器 TIM1 互补通道作为普通PWM输出问题

STM32 高级定时器 互补通道

2022-10-09 11:54:46 3407

原创 #elseif #elif keil编译器bug

条件编译 #elseif #elif #if keil

2022-09-20 14:07:57 1161

原创 Keil制作库Lib遇到的问题及解决方法

一、问题现象使用常规库制作方式制作出来的库,编译可以通过,但是运行不起来。1)stm32F767项目中,进入hartfault中断【自己编写的HAL_MspInit()函数】2)stm32L431项目中,进入startup_stm32l431xx.s中Default_Handler对应的死循环中。二、问题剖析1)第一种情况是HAL库架构大量使用使用__weak函数形式造成的;2)第二种情况是startup_stm32l431xx.s中中断函数使用[WEAK]造成的。实际测试发现,对应

2021-06-30 20:01:30 2149 4

原创 SouceInsight使用小技巧 实时更新

记录工作中SouceInsight使用小技巧使用小技巧(实时更新 2021-1-28 18:50)一、更改工程文件夹时,SI使用的Project files自动使用相对路径1、Project - Project Settings.. Project Source Directory - the main location of your souce files 中设置相对路径为根目录(点OK后,有可能显示还是绝对路径,没关系)2、Project - Project Settings.. Proj

2021-01-28 19:09:47 2962

原创 Keil output 大小写更改

Keil output 大小写更改一、问题来源二、解决方案写在后面一、问题来源想要修改keil自动生成的OUTput.hex名称为output.hex,发现修改后,保存,仍然会恢复成OUTput.hex。 (KEIL版本v5.26.2.0)二、解决方案1、找到参数修改位置“Name of Executable”[方法:options for Target ‘prjMy’ - Output],发现名称为“OUTput”;2、将该参数修改为与OUTput完全不同的名字,比如AAA,然后点OK,保存;

2021-01-28 10:23:28 1738

原创 STM32 bootloader APP 复位执行流程

STM32 bootloader APP 复位执行流程测试环境1、STM32f105RC flash空间分配 bootloadr [0x800 0000 0x801 8000] app[0x801 8000];2、boot option:flash区复位执行流程1、boot option 选择flash后, flash重映像到0x00 00000【同时 0x800 0000也可以正常...

2019-07-09 09:30:41 3260 5

Cortex-M3权威指南Cn.rar

ARM Cortex-M3 权威指南 中文版

2019-07-05

空空如也

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

TA关注的人

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