浏览代码

Optimize delayMicroseconds() on Teensy-LC

https://forum.pjrc.com/threads/28932-LC-is-10-9-times-slower-than-T3-1
teensy4-core
PaulStoffregen 9 年前
父节点
当前提交
61b29fa289
共有 1 个文件被更改,包括 5 次插入0 次删除
  1. +5
    -0
      teensy3/pins_teensy.c

+ 5
- 0
teensy3/pins_teensy.c 查看文件

@@ -885,6 +885,11 @@ uint32_t micros(void)
//systick_istatus = istatus & SCB_ICSR_PENDSTSET ? 1 : 0;
if ((istatus & SCB_ICSR_PENDSTSET) && current > 50) count++;
current = ((F_CPU / 1000) - 1) - current;
#if defined(KINETISL) && F_CPU == 48000000
return count * 1000 + ((current * (uint32_t)87381) >> 22);
#elif defined(KINETISL) && F_CPU == 24000000
return count * 1000 + ((current * (uint32_t)174763) >> 23);
#endif
return count * 1000 + current / (F_CPU / 1000000);
}


正在加载...
取消
保存