![](https://img-blog.csdnimg.cn/20210702092831591.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
STM32
文章平均质量分 78
ST公司拥有强大的MCU产品线与嵌入式外设IC,学好STM32是嵌入式研发的基本功。
Wallace Zhang
目标:
有朝一日,自己能独立完成一个机器人。
博客初衷:
将学习到的知识分享给大家,一起学习,同时自己又能再一次提高对知识的理解(费曼定理)
爱好:
喜欢手冲黑咖啡。
展开
-
STM32+CubeMX开发工程笔记汇总(更新2022.6.12)
一、前言使用STM32开发产品已经快两年了,一路走来真的非常有意思。单片机型号:从STM32F103->STM32F407->STM32H743库: 从标准库->HAL库(STM32CubeMX生成)IDE:从IAR->STM32CubeIDE->KeilRTOS:从UCOSIII->FreeRTOS->RTX5学习的嵌入式厂家:正点原子->野火->硬石科技->安富莱电子(牛B厂家)在使用STM32开发产品的过程中,经常碰到不知原创 2021-07-13 21:47:53 · 3214 阅读 · 1 评论 -
CANopen | 对象字典OD 07 - 创建对象字典变量,变量变化时发送TPDO1,滤波时间200ms
CANopen从站有一个变量tx_Value,映射到TPDO1上。接着,当变量tx_Value发生变化时,通过TPDO1发送出去,滤波时间为200ms。原创 2023-04-16 21:26:51 · 1361 阅读 · 1 评论 -
CANopen | 对象字典OD 06 - 创建对象字典变量,通过TPDO定时发送
CANopen从站有一个变量tx_Value,映射到TPDO1上。接着,CANopen从站每1S发送一次TPDO1,将tx_Value发送出去。原创 2023-04-16 21:18:57 · 1396 阅读 · 4 评论 -
IAP-Bootloader | 基于STM32F407+STM32CubeMX - 通过按钮实现Bootloader程序与APP程序互相切换
bootloader一般分为两种:1、ISP - 使用ST芯片自带的bootloader程序实现APP程序的刷写,其优势是简单,可靠。2、IAP - 自己编写一个bootlader实现APP程序的刷写,其优势是自定义,灵活性强。可以通过任意的通讯接口实现远程升级。下面文章是初学IAP的重点,文章是基于标准库解决问题,在HAL库上原理一样,只是处理方法改一下。(HAL库没有函数NVIC_SetVectorTable)原创 2022-09-04 22:52:25 · 4947 阅读 · 3 评论 -
bootloader | 基于STM32F407 - 使用STM32Cubeprogrammer的UART进行固件烧写
stm32,bootloader原创 2022-06-13 00:00:30 · 2408 阅读 · 3 评论 -
bootloader | 基于STM32F407 - 使用STM32Cubeprogrammer的USB DFU进行固件烧写
stm32f407,bootloader原创 2022-06-12 22:46:46 · 7544 阅读 · 1 评论 -
H7-TOOL | 以太网 - 动态IP(DHCP)功能测试
文章目录一、前言二、接线三、H7-TOOL设置四、查看路由器分配给H7-TOOL的IP地址与MAC地址五、H7-TOOL的上位机软件h7toolPC六、细节补充一、前言安富莱研发的软硬件开源神器工具H7-TOOL非常强大。今天来测试一下以太网的动态IP(DHCP)功能。H7-TOOL是使用基于M7架构的STM32H750高性能单片机开发。二、接线框图:三、H7-TOOL设置根据官方的介绍,打开H7-TOOL上动态IP(DHCP)的功能。注:根据我现在使用的固件版本,动态DHCP已经原创 2021-11-20 22:22:33 · 2374 阅读 · 0 评论 -
STM32F407+CubeMX - 使用GPIO翻转+示波器测量函数的执行时间
文章目录一、前言二、GPIO三、代码四、示波器测试结果五、细节补充一、前言Keil | 使用Register Windows测量函数的运行总时间前面介绍过使用Keil的Register Window + 断点的方式可以测量某个函数的运行时间。所以,测量的前提是你用Keil软件作为嵌入式开发的IDE,其他IDE就不适用了。这里使用硬件的方式来测量某个函数的运行时间,不过要准备一个示波器,而且会简单地使用它。总的来说,使用MCU的GPIO翻转 + 示波器的方法实现“测量某个函数的执行时间”。二、GP原创 2021-08-12 22:35:52 · 1835 阅读 · 0 评论 -
Keil | 使用Register Windows测量函数的执行时间
文章目录一、前言二、Keil配置三、进入调试状态3.1、打开Register Window3.2、打断点一、前言在工作上,经常需要量化代码的执行时间。通过Keil软件的Register Windows就能测量出来。二、Keil配置可以选择ST-LINK,也可以选择J-LINK。在Trace里面,填上MUC的工作频率(STM32F407的主频是168M),还有勾选“Trace Enable"。三、进入调试状态3.1、打开Register Window注意:找到Register Win原创 2021-08-12 22:31:24 · 2103 阅读 · 2 评论 -
STM32H743+CubeMX-双路FDCAN同时工作的终极方案(裸机)
文章目录一、前言二、CubeMX2.1、RCC2.2、Clock Configuration2.3、CORTEX_M72.4、DEBUG2.5、FDCAN12.6、倒回去配置一个FDCAN的时钟2.7、FDCAN22.8、GPIO2.9、生成代码三、Keil3.1、Target3.2、Output3.3、C/C++3.4、Debug3.5、Flash Download3.6、编译代码四、代码4.1、main.c4.2、添加bsp4.3、fdcan.c4.4、main.c五、测试FDCAN5.1、测试发送CA原创 2021-07-27 21:29:35 · 5281 阅读 · 13 评论 -
STM32F407+CubeMX-使用TIM计算编码器的脉冲总数,并计算脉冲方向
文章目录一、前言二、本次实验的编码器三、编码器与STM32的连接四、CubeMX的配置4.1、RCC4.2、Clock Configuration4.3、TIM24.4、生成代码五、Keil5.1、Target5.2、C/C++5.3、Debug六、代码6.1、main.c七、DEBUG7.1、用手让步进电机逆时钟旋转约1圈7.2、用手让步进电机顺时钟旋转约1圈八、示波器九、细节补充9.1、Encoder Mode一、前言STM32工程:链接:https://pan.baidu.com/s/1o4l原创 2021-07-15 21:15:26 · 7988 阅读 · 14 评论 -
STM32F407+CubeMX-使用TIM产生PWM信号
文章目录一、前言二、STM32CubeMX2.1、mode2.2、GPIO2.3、参数配置三、STM32CubeIDE3.1、main.c四、示波器4.1、例子14.2、例子2五、STM32F4编程参考手册一、前言PWM信号的用途很广,特别在电机控制上。PWM信号能够控制舵机的绝对位置,直流有刷电机的转速,步进电机的转动等。PWM信号的样子:使用STM32F407产生PWM信号很方便,而且可以在不进入中断的前提下生成PWM信号。具体的PWM细节参看《硬石YS-F4Pro开发板开发手册》的21.原创 2021-07-13 21:59:55 · 6697 阅读 · 15 评论 -
Keil | 解决Keil与Source Insight4.0配合使用时,代码与注释位置(乱码)不一样的问题
文章目录一、前言二、解决问题2.1、Keil2.2、Source Insight4.0一、前言Keil | 解决Keil与VScode配合使用时,代码与注释位置不一样的问题上一次解决VScode与Keil配合使用的问题后,再来解决一下Keil与Source Insight4.0配合使用时出现的同样问题。我个人比较喜欢Source Insight4.0代码编辑器,阅读过Linux源码的同学们对Source Insight肯定是非常熟悉的。二、解决问题出现这个问题的本质原因是Keil与Source原创 2021-07-13 19:47:05 · 2949 阅读 · 1 评论 -
Keil | 解决Keil与VScode配合使用时,代码与注释位置不一样的问题。
文章目录一、前言二、代码与注释位置不一样三、解决方法一、前言Keil是一个代码体验非常差的代码编辑器,不过Keil作为一个代码编译器与代码调试工具是非常棒的。有一些嵌入式的老前辈使用Keil + SI(Source Insight)作为日常的嵌入式开发的组合,Source Insight是一个非常棒的代码编辑器与代码分析工具,但是它是需要收费的(网络上有和谐版本)。最近几年,使用VScode编写代码的工程师越来越多。Keil + VScode这套嵌入式开发的组合也值得花时间研究一下。二、代码与注释位原创 2021-07-13 19:43:36 · 3102 阅读 · 6 评论 -
Keil | 解决Keil双击工程名无法打开.map的问题
文章目录一、前言二、解决方法一、前言在实际工作中,习惯查看.map文件非常重要。但是,使用CubeMX生成STM32H743的Keil工程后,发现无法通过双击工程文件名打开.map文件。问题的本质是:使用CubeMX生成的Keil工程,生成map文件的路径不在工程文件夹下。通过修改生成.map文件的路径,将路径修改到当前工程文件夹下就能解决问题。二、解决方法接着,重新编译工程。最后,双击工程名,就能打开.map文件。...原创 2021-07-13 19:40:22 · 3621 阅读 · 2 评论 -
STM32H743+CubeMX-TIM1发送PWM脉冲,TIM2计算PWM脉冲的总数(定时器同步计数实现)
文章目录一、前言二、CubeMX2.1、Clock Configuration2.2、主定时器TIM1 - Mode and Configuration2.3、主定时器TIM1 - Parameter Settings2.4、从定时器TIM2 - Mode and Configuration2.5、从定时器TIM2 - Parameter Settings2.6、生成代码三、代码3.1、tim.c四、DEBUG4.1、现场表达式查看内存4.2、TIM2上CNT寄存器的值真的等于TIM1的PWM脉冲数吗?五、原创 2021-07-08 20:31:10 · 5149 阅读 · 6 评论 -
STM32H743+CubeMX-定时器TIM发送非对称PWM(使用一个通道)
文章目录一、前言二、CubeMX2.1、Clock Configuration2.2、TIM1 Mode and Configuration2.3、Parameter Settings2.4、生成代码三、代码3.1、tim.c四、细节补充4.1、HAL_TIMEx_PWMN_Start一、前言STM32H743+CubeMX-定时器TIM输出PWM(Output Compare模式)STM32H743+CubeMX-定时器TIM输出PWM(PWM Generation模式)之前的两遍笔记也是生成非原创 2021-07-08 20:20:40 · 1277 阅读 · 3 评论 -
STM32H743+CubeMX-定时器TIM输出PWM(Out Compare模式) + 中断
文章目录一、前言二、CubeMX2.1、NVIC Settings2.2、生成代码三、代码3.1、tim.c四、DEBUG五、细节补充一、前言STM32H743+CubeMX-定时器TIM输出PWM(Output Compare模式)上一次的笔记使用定时器的输出比较方式输出PWM波,实际使用时,有可能需要在每一次翻转电平的时候进入一次中断,在中断里干一些事情,例如想知道翻转的总次数。我在实际工作上,有一个需求:需要判断当前翻转时,通道1与通道2当前的电平状态是高电平还是低电平。二、CubeMX原创 2021-07-08 20:16:44 · 2714 阅读 · 3 评论 -
STM32H743+CubeMX-定时器TIM输出PWM(PWM Generation模式)+ 中断
文章目录一、前言二、CubeMX2.1、Mode and Parameter Settings2.2、NVIC Settings2.3、生成代码三、代码3.1、tim.c3.2、main.c四、DEBUG4.1、OC中断回调函数的验证4.2、定时器溢出中断五、细节补充一、前言STM32H743+CubeMX-定时器TIM输出PWM(PWM Generation模式)上一次完成了使用定时器TIM的PWM Generation模式输出PWM波,没有产生中断。在实际项目上,有时候需要计算一共发了多少个PW原创 2021-07-08 20:12:13 · 4070 阅读 · 8 评论 -
STM32H743+CubeMX-ADC(16bit分辨率)+DMA采样三路模拟量,硬件过采样器实现1024倍过采样
一、前言上一个笔记:STM32H743+CubeMX-ADC+DMA采样三路模拟量(并行),没过采样在一个实验的基础上,添加STM32H743的过采样器硬件,实现1024倍采样滤波算法。在上一个笔记的基础下,仅仅修改STM32CubeMX就能实现,代码都不用动!以往像STM32F103(Cortex-M3)与STM32F407(Cortex-M4)的MCU都没有过采样器的硬件,MCU虽然可以不参与数据搬运(DMA搬运),但是采样滤波算法需要自己用代码实现的。算法很简单,就是积分后再求平均。STM3原创 2021-07-07 20:45:04 · 4200 阅读 · 7 评论 -
STM32H743+CubeMX-ADC(16bit分辨率)+DMA采样三路模拟量(并行),没过采样。
文章目录一、前言二、CubeMX2.1、RCC,SYS,Clock Configuration2.2、CORTEX_M7(cache与MPU)2.3、ADC3 Mode and Configuration2.4、DMA Settings2.5、Parameter Settings2.6、GPIO settings三、Keil3、1、Target2.2、Linker四、代码4.1、adc.c4.2、main.c五、硬件接线六、DEBUG6.1、Debug(printf)Viewer6.2、观察全局变量七、细节原创 2021-07-06 20:19:57 · 3271 阅读 · 16 评论 -
STM32H743+CubeMX-使用ADC(16bit分辨率)模数转换器读取CPU的温度(串行方式)
文章目录一、前言二、CubeMX2.1、RCC2.2、SYS2.3、ADC2.4、Clock Configuration四、代码4.1、adc.c4.2、adc.h4.3、main.h4.4、main.c五、DEBUG5.1、Debug (printf)Viewer5.2、观察实时变量一、前言CubeMX配置ADC的梳理笔记:STM32H743+CubeMX-梳理MPU的设置STM32H743内部集成了一个温度传感器,可以使用ADC3_INP18通道测量CPU当前的温度。官方手册提供计算公式,值原创 2021-07-06 20:06:36 · 3557 阅读 · 14 评论 -
SMT32H743+CubeMX-配置MPU后,在Keil上的程序卡死
文章目录一、前言二、解决问题一、前言在实际工作上,一定要使用cache才能充分发挥STM32H743的性能,所以一定要配置MPU。MPU的配置如下所示,但是Keil程序却无法正常执行。DEBUG后发现程序卡死在中断函数void MemManage_Handler(void)里。问题的本质是:Keil软件默认会配置RAM内存0x24000000,当我们使用MPU管理RAM内存0x24000000时就会发生冲突了。下图使用CubeMX配置MPU管理了两段内存:二、解决问题取消勾选后,程序就能原创 2021-07-05 21:33:35 · 2087 阅读 · 2 评论 -
STM32H743+Keil-将变量定义到指定内存
文章目录一、前言二、Keil2.1、Target2.2、Linker三、代码四、DEBUG一、前言在STM32CubeIDE实现了将变量定义到指定内存,当使用Keil时,方法又不一样了。STM32H743+CubeIDE-将变量定义到指定的内存RAM:0x20000000 ~ 0x20020000 ,尺寸128KB。这个就是DTCM内存。安富莱的建议:二、Keil2.1、Target让Keil只管理DTCM内存,不要管理其他内存。2.2、Linker从ST官方手册RM0433可以原创 2021-07-05 21:27:22 · 3473 阅读 · 11 评论 -
STM32H743+CubeMX-SPI与DRV8889串行通讯,驱动步进电机
文章目录一、前言二、硬件设计2.1、PCB原理图设计2.2、PCB Layout三、CubeMX3.1、RCC3.2、DEBUG3.3、Clock Configuration3.4、SPI3.5、GPIO3.6、TIM3.7、Project Manager四、Keil4.1、Target4.2、Output4.3、C/C++(AC6)4.4、Debug4.5、添加DRV8889驱动代码4.6、添加include路径五、代码5.1、main.h5.2、bsp_DRV8889.c5.3、tim.c5.4、mai原创 2021-07-01 20:36:13 · 3848 阅读 · 22 评论 -
RTX5 | STM32H743+CubeMX+RTX5+两路FDCAN驱动+CANopen协议
一、前言百度网盘:链接:https://pan.baidu.com/s/1NEccCy1S-Z5FhcInQOTzfA提取码:fddgRTX5 | STM32H743+CubeMX+RTX5+两路FDCAN模板在上一个模板的基础上,增加CANopen协议。二、实验目的在FDCAN1上初始化了一个CANopen从站对象。FDCAN2暂时只是普通的CANBUS。三、代码3.1、main.c简单介绍一下重点代码。线程thread_FDCAN1_Unpack_App。(将接收到的CAN报文提原创 2021-06-10 20:14:13 · 1346 阅读 · 0 评论 -
RTX5 | STM32H743+CubeMX+RTX5+两路FDCAN模板
百度网盘:链接:https://pan.baidu.com/s/15dy_YsLAaNDRZ7rPNUmtlA提取码:0xm9测试硬件:CubeMX的版本:6.2.1HAL库版本:STM32Cube_FW_H7_V1.9.0Keil版本:5.31RTX5版本:5.5.2两路FDCAN的配置:FDCAN1与FDCAN2同时工作FDCAN的工作模式为普通CAN(可以跑CANopen协议)每路FDCAN有32个接收FIFO每路FDCAN有32个发送FIFO通讯波特率:1M接收中断+原创 2021-06-10 20:09:31 · 1489 阅读 · 0 评论 -
STM32H743+CubeMX-两路FDCAN同时工作的终极方案(RTX5)
文章目录一、前言二、CubeMX2.1、Clock Configuration2.2、FDCAN1FDCAN2三、代码3.1、添加BSPfdcan.c3.3、main.c四、调试FDCAN4.1、测试发送CAN报文4.2、测试接收CAN报文4.2.1、FDCAN1接收4.2.2、FDCAN1接收五、细节补充5.1、FDCAN中断回调函数一、前言终极方案的配置如下:FDCAN1与FDCAN2同时工作FDCAN的工作模式为普通CAN(可以跑CANopen协议)每路FDCAN有32个接收FIFO每路原创 2021-06-08 21:04:38 · 3303 阅读 · 10 评论 -
STM32H743+Cube-Keil上移植RTX5实时系统
文章目录一、前言二、CubeMX2.1、RCC 与 Clock Configuration2.2、SYS2.3、GPIO2.4、DEBUG2.5、Project Manager三、Keil3.1、Target3.2、Output3.3、模板代码(main.c)3.4、开始移植RTX5四、代码4.1、main.h4.2、main.c一、前言在CM内核上,RTX5好像已经无敌了。为此,学习如何在STM32H743上完成RTX5的移植。我使用的Keil版本:一定要使用最新的CMSIS软件包。下载地址:h原创 2021-05-26 20:14:35 · 1800 阅读 · 10 评论 -
STM32H743-梳理ADC模数转换器在CubeMX上的配置
文章目录一、前言二、Cloack Configuration三、ADC1 Mode and Configuration四、Configuration4.1、ADC_Setting4.1.1、Clock Prescaler(时钟预分频)4.1.2、Resolution(分辨率)4.1.3、Scan Conversion Mode(扫描模式)4.1.4、Continuous Conversion Mode(连续转换模式)4.1.5、Discontinuous Conversion Mode(不连续序列转换模式)原创 2021-05-24 22:13:30 · 15561 阅读 · 17 评论 -
STM32H743+CubeMX-梳理MPU的设置
文章目录一、前言二、CubeMX2.1、Cortex interface Settings2.2、Cortex Memory Protection Unit Control Settings(内存保护单元控制设置)2.3、Cortex Memory Protection Unit Region 0 Settings(内存保护单元区域0设置)2.3.1、MPU Region2.3.2、MPU Region Base Address(MPU区域首地址)2.3.3、MPU Region Size(MPU区域大小)原创 2021-05-24 21:58:59 · 13686 阅读 · 3 评论 -
STM32H743+CubeMX-串口非空闲中断接收
文章目录一、前言二、CubeMX2.1、选择串口三、代码3.1、main.c3.2、stm32f7xx_it.c相关笔记:基于STM32H743-串口重定向printf一、前言在实际工作上,串口连续中断接收最灵活与实用。 如果项目上使用了RTOS,那么串口非空闲中断接收+消息队列就是一个完美的组合。如果项目上没有使用RTOS,那么串口非空闲中断接收+ringbuffer算法(FIFO)也是一个完美的组合。二、CubeMX2.1、选择串口接着,需要打开global interrupt。为了原创 2021-05-18 23:07:25 · 1065 阅读 · 2 评论 -
STM32H743+CubeMX-串口重定向printf
文章目录一、前言二、CubeMX2.1、选择串口2.2、Parameter Settings三、代码3.1、usart.h3.2、usart.cKeilIARSTM32CubeIDE3.3、main.c一、前言**printf是调试程序与打印信息的强大工具,必须要掌握。**在实际项目上,我认为没有一种调试方式可以替代printf。这一篇笔记将分别在Keil,IAR,STM32CubeIDE(gcc)实现printf重定向。在代码方面,Keil与IAR是一样的。但是,在STM32CubeIDE上的代码就不原创 2021-05-18 22:39:20 · 2548 阅读 · 7 评论 -
STM32H743+CubeIDE-将变量定义到指定的内存
文章目录一、前言二、将变量定义到指定的内存2.1、将变量定义到DTCM内存2.2、将变量定义到RAM_D1内存三、STM32CubeIDE实用技巧之ld链接文件解读3.1、内存(MEMORY)3.2、段(Section)四、细节补充一、前言在实际项目中,充分发挥STM32H7的性能,必须将频繁存取的数据存放在DTCM内存。TCM:Tightly-Coupled Memory 紧密耦合内存,特点是跟内核速度一样(480M)。但是,其他内存(SRAM1,AXI SRAM,SRAM2,SRAM3等)跟CPU的原创 2021-05-18 21:54:15 · 8915 阅读 · 17 评论 -
STM32CubeIDE教程-现场表达式切换数字进制表示
类似MDK,IAR可以实时监控内存的值一样,STM32CubeIDE也能做到。STM32CubeIDE通过现场表达式可以实时查看内存的值。在STM32CubeIDE进入DEBUG模式后,点击Windows → Show View → 现场表达式后,右侧就会弹出现场表达式的对话框。例如,我要监控变量encoder_Value,那么直接在右侧的表达式对话框里的最下方,输入encoder_Value。接着,就能看到encoder_Value一直在变化。在上图看到,encoder_Value是以十进制原创 2021-05-12 23:05:17 · 2004 阅读 · 0 评论 -
STM32CubeIDE教程-查看FLASH与RAM细节
文章目录一、前言二、STM32CubeIDE - Build Analyzer2.1、打开Build Analyzer2.2、查看Build Analyzer2.3、Build Analyzer的搜索功能一、前言实际工作中,经常会遇到编写一些flash的程序。就会想起STM32的内存架构,比如芯片的FLASH大小,RAM大小,STM32的FLASH到底存着什么,STM32的RAM到底存着什么?关于数据类型,变量和堆栈的基础知识,可以学习《安富莱_STM32-V7开发板_用户手册,含BSP驱动包设计(V原创 2021-05-12 22:59:59 · 11676 阅读 · 14 评论 -
STM32H743+CubeMX-QSPI+DMA读取外部FLASH(W25Q128JVSQ)
文章目录一、前言二、硬件电路三、CubeMX3.1、Parameter Setting3.2、GPIO Settings3.3、MDMA Settings(重点)3.4、CubeMX生成项目代码四、例程4.1、添加代码到工程4.2、main.c4.3、DEBUG一、前言上一次完成串行通讯《基于STM32H743-QSPI读写外部FLASH(串行)》接着,开始弄QSPI+DMA并行读写外部FLASH的例程。在实际工作上,一定要用DMA方式搬运数据,解放MCU,让宝贵的MCU去做其他更有意义的事情。例程原创 2021-05-12 22:48:40 · 3758 阅读 · 3 评论 -
STM32H743+CubeMX-QSPI读写外部FLASH(W25Q128JVSQ)
文章目录一、前言二、硬件电路三、CubeMX3.1、Clock Configuration3.2、QUADSPI Parameter Settings3.3、QSPI GPIO Setting(大坑)3.4、生成代码四、例程代码4.1、添加代码到工程4.2、main.c4.3、DEBUG一、前言这次编写QSPI底层驱动走了很多弯路,学习硬件是广州硬石科技的STM32H743的开发板。这个H743的开发板上使用的是已经停产的华邦的W25Q128FV外部FLASH,这块老FLASH在QSPI上的编程比较坑,原创 2021-05-12 22:35:21 · 9400 阅读 · 16 评论 -
STM32H743+CubeMX-低功耗定时器LPTIM输出PWM波
文章目录一、前言二、CubeMX2.1、Clock Configuration2.2、LPTIM2 Mode and Configuration2.3、Parameter Settings2.4、生成代码三、代码3.1、lptim.c3.2、烧写代码四、细节补充一、前言PWM波形在实际工作上有非常广泛的使用,尤其在步进电机控制与LED阵列的控制。Cortex-M7架构增加了好几个低功耗定时器LPTIM,也可以用来产生PWM波。LPTIM没有普通TIM的功能强大,主要的用途在于低功耗。如下图所示,PW原创 2021-05-12 22:18:14 · 2663 阅读 · 0 评论 -
STM32H743+CubeMX-定时器TIM输出PWM(PWM Generation模式)
文章目录一、前言二、CubeMX2.1、Clock Configuration2.2、TIM8 Mode and Configuration2.3、Parameter SettingsCounter SettingsPWM Generation Channel1 与 PWM Generation Channel2其他2.4、生成代码三、代码3.1、tim.c3.2、烧写代码四、示波器一、前言PWM波形在实际工作上有非常广泛的使用,尤其在步进电机控制与LED阵列的控制。使用定时器的PWM产生模式让TIM8原创 2021-05-12 22:03:17 · 5513 阅读 · 4 评论