你(们)好
我正在调试 此代码、当我第一次到达黄线时、计数器小于结束、但即使在计数器>结束后、计数器仍保持不变。 我尝试在 while 中添加 if 语句、但似乎编译器会忽略它、我无法在此行添加断点。
这很奇怪。 问题出在哪呢?
我在 launchpad 上运行它、结果相同
void
o_timersQ_delay2 (DWORD 延迟)//in msec
{
DWORD End、start = SysTick _counter;
end = SysTick _counter +(delay /SysTick _per); //如果
(结束>开始)
{
while (SysTick 计数器<结束)//在常规情况下//由于某种原因它不起作用
{
如果(SysTick 计数器>结束)中断;
},则查找延迟结束时计数器应该是什么
}
else//结束在溢出后
{
if (SysTick 计数器>= start)//直到溢出
(SysTick 计数器>结束);
else //结束在溢出
时(SysTick 计数器<结束);
}