一段嵌入式代码的理解

2019-03-25 19:32发布

int main(void)
{
  
      // disable JTAG port
    DDPCONbits.JTAGEN = 0;   
  
    // 3.2 initialization
    TRISB = 0;      // all PORTA as output
    T1CON = 0x8030; // TMR1 on, prescale 1:256 PB     // 3.3 the main loop
    while( 1)
    {
        // 3.3.1 display loop, hand moving to the right
       
            PORTBbits.RB13=0;
            PORTBbits.RB14=1;
           
            HAL_DelayMS(1000);              
            PORTBbits.RB13=1;
            PORTBbits.RB14=0;             HAL_DelayMS(1000);
    } // main loop
} // main /* 功能     : 基本延时函数*/
void HAL_DelayMS (INT16U r_iTime)
{
 while(r_iTime--)
 {
  HAL_DelayUS(1000);
 } 
}
/* 功能     : 基本延时函数*/
void HAL_DelayUS (INT16U r_iTime)
{
 int i,j;  r_iTime--;  __asm("nop");
 __asm("nop");
 __asm("nop");
 __asm("nop");
 __asm("nop");
 __asm("nop");
 __asm("nop");
 __asm("nop");
 __asm("nop");
 __asm("nop");
 __asm("nop");
 __asm("nop");
 __asm("nop");
 __asm("nop");
 
 while(r_iTime)
 {
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");   __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");   __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");   __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");
  __asm("nop");   r_iTime--;
 }
 
 r_iTime = 0; 
}
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。