("▔㉨▔)汗 发表于 2017-3-6 11:41:05

新人求助,stm8l-discovery 一段代码,请大神帮解读一下。

/* User button pressed */
KeyPressed = TRUE;
if ((GPIOC->IDR & USER_GPIO_PIN) == 0x0)
{
         
/* If user button pressed 4 seconds (approx.) set autotest */
/* Autotest doesn't execute in Interrupt handler */
while ((GPIOC->IDR & USER_GPIO_PIN) == 0x0)
{
    i++;
    if (i == 0x011000) //约等于4秒时
    {
      EXTI_ClearITPendingBit(EXTI_IT_Pin1);       
      Auto_test =TRUE ;      
      enableInterrupts();
   // halt();
      return;
    }
}按键中断里的一段代码其中: if (i == 0x011000) //约等于4秒时看不懂。   "0x011000"为啥要写成这样,它是如何代表了4秒?


ddllxxrr 发表于 2017-3-6 12:13:41

因为前面有个i++;
当然从零算,加到你那个二进制数,约为4秒时间。

anobodykey 发表于 2017-3-6 15:17:36

这个不必去纠结吧,应该是实际测出来的,约等于,不精确
页: [1]
查看完整版本: 新人求助,stm8l-discovery 一段代码,请大神帮解读一下。