
我在积分兑换问题
怎么将keil工程更换为vscode工具链?
Nucleo STM32H723ZG 以太网 用CubeMX配置完卡在在mem_init()为什么?
NAND FLASH在STM32上的FMC
stm32cubemx “enter myST account information”无反应,无法下载软件包
在哪里可以下到文件 stm32l4xx_ll_flash.h 和 stm32l4xx_ll_flash.c
STM32H743内部温度传感器读数错误
STM32H745 移植 RTT 只能接受一个核的信息输出,如何实现一个窗口接受两个核的信息输出
ST MotorControl Workbench 生成代码过程中报错Java的非法反射警告
STM32G431 用MCSDK5.4.8 进行PMSM永磁同步电机FOC控制,转速上升到某一值(3500rpm)无法继续上升,上不去
显然要实现该转速须有合适的驱动。 若凭一双手拨弄,再怎么使劲估计
每分钟有三五百转就了不得了,但并不能因此否认该马达的输出能力。
你关注的是GPIO的实际翻转输出。这个就得看你的实现方式了。
最佳方式自然是使用TIMER硬件PWM输出。
你现在是使用TIMER中断实现GPIO翻转,很多情形下,翻转频率主要由TIMER溢出频率决定。
具体到你这里,现在希望通过中断里实现GPIO翻转周期为4MHz. 这就意味着定时器的溢出周期
为8MHz。 对于定时器而言,实现这个溢出频率自然不在话下。
但是,你是在定时器中断里做GPIO翻转,进、出中断要时间、执行中断代码要时间。
此时翻转GPIO就不要基于函数调用了,尽量基于寄存器层面进行操作。
如果处理得不好,真有可能连1Mhz都输出不了。
我这边利用STM32H743芯片简单测试了下,主频400MHz,TIMER计数时钟200MHz,基于定时器中断
做GPIO翻转,做到6~7MHz的翻转输出问题不大。这个结果其实并不跟定时器本身定时长度直接相关了。
说实在的,这个东西,体验下无妨。系统里这么高频的中断没啥实用价值。
定时器中断周期设置了多少?
https://shequ.stmicroelectronics.cn/thread-640434-1-1.html
定时器周期是240/10=24M。计数值6。中断频率4MHz
2.如果以8M的频率中断,那么进出和处理中断时间要小于125ns,这对程序不现实,况且这么高频率的中断,其他代 码很难运行了。
3.另外不用定时器引脚就很难实现硬件方式输出。 本想用DMA搬运数据方式,但是DMAMUX2的触发源配置有点难度,关键搬运数据会影响整个PD口,多半也不合适~~~~