gpt4 book ai didi

c - 嵌入式 C 时序问题

转载 作者:行者123 更新时间:2023-11-30 20:47:09 25 4
gpt4 key购买 nike

如果条件不满足,我想在 2 秒后退出这个 while 循环。如果时钟频率是 32MHz,我在这里为超时设置什么值。

while(((READ_REG(ADC_NEW) & ADC_DATA) == 0) && (--timeout > 0));

最佳答案

为什么不使用基于计时器的解决方案?

喜欢

volatile bool adc_timeout_flag;

//configure timer for a desired frequency
config_timeout_tim();

//some code here

while(condition_for_adc_not_met() && (adc_timeout_flag == false));
adc_timeout_flag = false;
//something

void timerISR(void) {
static uint32_t tim;
++tim;
if (tim > TIM_MAX) {
tim = 0;
adc_timeout_flag = true;
}
}

关于c - 嵌入式 C 时序问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30597340/

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