程序卡死在USB_EPStartXfer这里
SDIO 初始化 死在 __HAL_RCC_SDIO_CLK_ENABLE语句上
我现在使用STM32F446ZET6芯片,外挂了16m的片外SDRAM。想把程序在SDRAM中运行,一直尝试没有成功,希望得到帮助,是否有相关的例子或参考的文档
MotorControl Workbench 6.4.1 生成 FOC 项目代码后运行死机。
STM32F405rgt6 I2S DMA输入会造成卡死,这个芯片有BUG
USBX在F407上创建CDC不能正常使用
STM32F427ZGTx内部RTC秒及亚秒同步问题
有没有STM32F405RG参考设计
LSM6DS3TR-C静止情况下使用MotionFX固件算出的欧拉角周期性异常跳动
全球论坛无法登录
微信公众号
手机版
stm32f407采集1Khz-4Mhz频率计算出采集频率,采用输入捕获只能采集到1Mhz左右,再往上频率就只能维持1Mhz,采用外部中断计数,配合定时器也是一样。有没有好办法解决?
楼主,看一下你的系统配置是不是168Mhz,在这个情况下输入捕获或者定时检测应该是没问题的。
或者采用外部计数方式,使得测量脉冲作为定时器的时钟输入,再通过另一个定时器触发启动计数和停止,根据计数值来换算测量的频率。当然,这种方式的配置上略微复杂,但是可以测量比较高的频率。
进中断。另外,你可以考虑通过DMA读取CCR的数据,2次基于DMA完成中断来计算具体数据。
频率是168M,不过采集到1M左右的时候再往上增加输入频率,采集频率没有变化
外部中断计数的方式尝试过了,来一个上升沿开始计数,记录定时器时间,第二个上升沿再记录一个定时间时间,两个相减得到频率。不过也是低频1M左右,再往上的时候频率没有变化或者不准
楼主,是否可以考虑用DMA采集AD的方式测试一下,很多手持示波器和逻辑分析仪也用ST做,理论是没有问题的。
1. 第一种方式是定时器捕获,自动保存计数器的值。由于频率高,可以设置8个脉冲捕获一次,拉开间隔,增加精度。
2. 第二种方式将你要测量的信号作为计数器的外部时钟,在固定时间内记录的多少数(来了多少个脉冲)。根据这个数值换算成频率。