完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
STM32F4用来作为计算单元的时候,如何评估算法或应用的时间性能?能不能通过配置使之具备计时功能?精度达到us级别就足够了。
关于计时,在debug状态下,通过states的计数值可以计算时间性能,但必须是debug设置断点,如果是系统实时应用,有没有别的办法? |
|
相关推荐
1个回答
|
|
在STM32F4上评估算法或应用的时间性能,可以通过以下步骤进行:
1. 使用STM32F4的内置定时器(如SysTick定时器)进行计时。SysTick定时器是一个独立的定时器,可以在系统运行时提供高精度的时间测量。 2. 配置SysTick定时器以满足所需的精度。STM32F4的最大时钟频率为168MHz,因此,如果需要微秒级别的精度,可以将SysTick定时器的时钟源设置为系统时钟,并配置相应的预分频器。 3. 在算法或应用的开始和结束位置,使用SysTick定时器的计数器值进行时间戳记录。例如,可以在算法开始前读取SysTick定时器的当前值,然后在算法结束后再次读取。两者之间的差值即为算法执行所需的时间。 4. 在系统实时应用中,可以使用中断服务例程(ISR)来处理时间戳记录。在算法开始前,启动SysTick定时器,并在定时器中断中记录开始时间戳。在算法结束后,再次触发中断并记录结束时间戳。 5. 为了减少中断响应时间对时间测量的影响,可以在中断服务例程中使用一个标志位来指示算法的开始和结束。这样,中断服务例程只需更新标志位,而时间戳记录可以在主程序中进行。 6. 通过计算开始和结束时间戳之间的差值,可以得到算法或应用的执行时间。如果需要更精确的时间测量,可以考虑使用STM32F4的高级定时器(如TIMx)。 7. 如果需要在调试状态下测量时间性能,可以使用IDE(如Keil MDK-ARM)的调试功能来查看SysTick定时器的计数器值,或者使用硬件性能计数器(如DWT)进行时间测量。 通过以上步骤,可以在STM32F4上评估算法或应用的时间性能,并达到微秒级别的精度。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1750 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1608 浏览 1 评论
1049 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
721 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1665 浏览 2 评论
1924浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
710浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
559浏览 3评论
583浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
544浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 10:27 , Processed in 0.737276 second(s), Total 82, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号