gpt4 book ai didi

c - 有什么方法可以找到关键部分中函数所花费的时间(在禁用和启用中断之间)

转载 作者:太空宇宙 更新时间:2023-11-04 03:39:27 24 4
gpt4 key购买 nike

我有一个函数,它会在执行函数之前禁用中断,并在函数完成后重新启用中断。

这里我的要求是找到函数执行需要多少时间?

以抽象的方式,这就是我想做的:

variable = time();//time before disabling

disable_interrupts();

perform_function();//business logic

enable_interrupts();

variable2 =time();//time after disabling the interrupt

tot_time = variable2 - variable;

有什么办法可以找到所花费的时间吗?我被卡住了,因为如果我们禁用中断,处理器将不会接受任何东西(时钟、中断、计数器)。

最佳答案

如果此功能花费如此多的时间,您可能应该更改您的设计。在不禁用中断的情况下执行耗时的业务逻辑。

无论如何,如果您想坚持当前的设计,我会尝试建议一个解决方案。任何时钟寄存器都将继续运行,您可以选择一个并在 ISR 开始和结束时检查其值。如果计数器多次溢出,您将没有任何指示。您还可以定期(如果您的业务逻辑是一个循环)检查时钟值并将耗时求和到一个变量中。因此时钟超限将包含在计算中。

关于c - 有什么方法可以找到关键部分中函数所花费的时间(在禁用和启用中断之间),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29838055/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com