亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bldc.c

?? 無刷直流電機的無傳感器控制TI程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
        while(1)             /* Nothing running in the background at present */
        {

        } /* Main system background loop */

} /* End: main() */


void interrupt c_int03()
{
        asm("      CLRC     XF ");
        
        isr_ticker++;
        
/*---------------------------------------------------------------------------*/
#if     TARGET==F243
        EVIFRB=0x0ffff;            /* Clear all Group A EV interrupt flags    */

#elif   TARGET==F2407
        EVAIFRB=0x0ffff;          /* Clear all EV1 Group A EV interrupt flags*/
#endif/* #if TARGET */

        if (bldc.align_flag != FALSE ) {
            bldc.mod6.cntr = 0;
            pwm.cmtn_ptr_bd = 0;
            pwm.update(&pwm);


             /* Wait for a "while" */

            if (bldc.cmtn.v_timer < V_TIMER_THRESHOLD){
                   update_v_timer();
                   dac.update(&dac);
                   asm("      SETC     XF ");
                   return;
            }/* if (bldc.cmtn.v_timer < V_TIMER_THRESHOLD)*/

            bldc.align_flag = 0;
        }/*if (bldc.align_flag != FALSE ) */

#if (BUILDLEVEL==LEVEL1)
        BLDC_TI_Run(&bldc);

        pwm.cmtn_ptr_bd  = bldc.mod6.cntr; /* Input to PWM driver */

        pwm.update(&pwm);
#endif /* (BUILDLEVEL==LEVEL1) */

#if (BUILDLEVEL==LEVEL2)

        bldc.cmtn.va = adc.c1_out;
        bldc.cmtn.vb = adc.c2_out;
        bldc.cmtn.vc = adc.c3_out;

        BLDC_TI_Run(&bldc);

        pwm.cmtn_ptr_bd  = bldc.mod6.cntr;  /* Input to PWM driver */

        pwm.update(&pwm);
        adc.update(&adc);
#endif /* (BUILDLEVEL==LEVEL2) */


#if (BUILDLEVEL==LEVEL3)

        bldc.cmtn.va = adc.c1_out;
        bldc.cmtn.vb = adc.c2_out;
        bldc.cmtn.vc = adc.c3_out;

        BLDC_TI_Run(&bldc);

        pwm.cmtn_ptr_bd  = bldc.mod6.cntr; /* Input to PWM driver */


        pwm.update(&pwm);
        adc.update(&adc);



#endif /* (BUILDLEVEL==LEVEL3) */


#if (BUILDLEVEL==LEVEL4)


        bldc.cmtn.va = adc.c1_out;
        bldc.cmtn.vb = adc.c2_out;
        bldc.cmtn.vc = adc.c3_out;

        BLDC_TI_Run(&bldc);

        pwm.cmtn_ptr_bd  = bldc.mod6.cntr;  /* Input to PWM driver */
        pwm.d_func = bldc.rmp2.out;

        pwm.update(&pwm);
        adc.update(&adc);

#endif /* (BUILDLEVEL==LEVEL4) */

#if (BUILDLEVEL==LEVEL5)


        bldc.cmtn.va = adc.c1_out;
        bldc.cmtn.vb = adc.c2_out;
        bldc.cmtn.vc = adc.c3_out;

        bldc.pid2.fb_reg2  = adc.c4_out;

        BLDC_TI_Run(&bldc);

        if(FALSE == bldc.I_loop_flg)
            pwm.d_func = bldc.rmp2.out;
        else
            pwm.d_func = bldc.pid2.out_reg2;

        pwm.cmtn_ptr_bd = bldc.mod6.cntr;  /* Input to PWM driver */
        pwm.update(&pwm);
        adc.update(&adc);

#endif /* (BUILDLEVEL==LEVEL5) */

   update_v_timer();
   dac.update(&dac);

   asm("      SETC     XF ");


}  /* interrupt c_int03() */


void RstSystem(void)
{
/*-----------------------------------------------------------------------------
    First execute the initialization for the Wait Stage Genrator,
    Global interrupt disable, Shut off the Watchdog,
    and set up the Interupt Mask Register
-----------------------------------------------------------------------------*/
#if (TARGET==F243)
        disable_ints();           /* Make sure the interrupts are disabled   */
        IMR = 0x00;               /* Mask all interrupts                     */
        IFR = 0x00ff;             /* Clear any pending interrupts, if any    */
        PIRQR0 = PIRQR0 & 0x0fffe; /* Clear pending PDP flag */
        EVIFRA = EVIFRA | 0x0001;   /* Clear PDP int flag */

        asm("  CLRC   SXM ");         /* Clear signextension mode */
        asm("  CLRC   OVM ");         /* Reset overflow mode     */
        asm("  CLRC   CNF ");         /* Config block B0 to data memory */
        asm("  SPM    0   ");         /*  Set product mode at 0   */

        WSGR=WAIT_STATES;         /* Initialize Wait State Generator         */
        SCSR=0x40c0;              /* Init SCSR */
        wdog.disable();           /* Vccp/Wddis pin/bit must be high         */
        wdog.reset();             /* reset watchdog counter */

        EVIMRB=0x0004;        /* Enable the timer2 underflow interrupt */

        EVIFRA = 0xFFFF;      /* Clear all Group A interrupt flags */
        EVIFRB = 0xFFFF;      /* Clear all Group B interrupt flags */
        EVIFRC = 0xFFFF;      /* Clear all Group C interrupt flags */

        #if (REAL_TIME==TRUE)
        IMR = 0x0044;                /* En Int lvl 3 & 7 (T2 ISR) */
        #endif /* (REAL_TIME==TRUE) */

        #if (REAL_TIME==FALSE)
        IMR = 0x0004;                /* En Int lvl 3   (T2 ISR) */
        #endif /* (REAL_TIME==TRUE)*/

#endif /* (TARGET==F243) */

#if (TARGET==F2407)
        disable_ints();           /* Make sure the interrupts are disabled   */
        IMR = 0x00;               /* Mask all interrupts                     */
        IFR = 0x00ff;             /* Clear any pending interrupts, if any    */
        PIRQR0 = PIRQR0 & 0x0fffe; /* Clear pending PDP flag */
        PIRQR2 = PIRQR2 & 0x0fffe; /* Clear pending PDP flag */

        EVAIFRA = EVAIFRA | 0x0001; /* Clear PDPINTA flag */
        EVBIFRA = EVBIFRA | 0x0001; /* Clear PDPINTB flag */

        asm("  CLRC   SXM ");         /* Clear signextension mode */
        asm("  CLRC   OVM ");         /* Reset overflow mode     */
        asm("  CLRC   CNF ");         /* Config block B0 to data memory */
        asm("  SPM    0   ");         /*  Set product mode at 0   */

        WSGR=WAIT_STATES;         /* Initialize Wait State Generator */
        SCSR1=0x0085;             /* Init SCSR1 */
        wdog.disable();           /* Vccp/Wddis pin/bit must be high */
        wdog.reset();             /* reset watchdog counter */

        EVAIMRB=0x0004;        /* Enable the timer underflow interrupt */

        EVAIFRA = 0XFFFF;      /* Clear all Group A interrupt flags */
        EVAIFRB = 0XFFFF;      /* Clear all Group B interrupt flags */
        EVAIFRC = 0XFFFF;      /* Clear all Group C interrupt flags */

        #if (REAL_TIME==TRUE)
        IMR = 0X0044;                /* En Int lvl 3 & 7 (T2 ISR) */
        #endif /* (REAL_TIME==TRUE) */

        #if (REAL_TIME==FALSE)
        IMR = 0X0004;                /* En Int lvl 3   (T2 ISR) */
        #endif /* (REAL_TIME==TRUE)*/

#endif /* (TARGET==F2407) */

}   /* RstSystem(void) */


void interrupt phantom(void)
{

  static int phantom_count;
  phantom_count ++;


/*  Empty function: Used to handle any unwanted interrupts or events.
    All unused interrupt vectors are pointed to this function so that
    if any un-handled interrupts do get enabled, they are handled in a
    benign manner, preventing un-intended branches, calls or execution
    into garbage.
    Note that this function is an ISR, not a ordinary function.
*/
} /* phantom() */

/*------------------------------------------------------------------------------
    This function just provides a c-interface to the asm RTMON init function.
------------------------------------------------------------------------------*/

void rtmon_init(void)
{
    asm("       CALL    MON_RT_CNFG ");
}  /* rtmon_init() */


/*------------------------------------------------------------------------------
    This function derives time base from T2 underflow interrupt (i.e. period)
------------------------------------------------------------------------------*/

void time_base_init(void)
{
        T2PR = SYSTEM_INT_PERIOD;  /* Initialize period register */
/*
 * T2CON = 1001000001000000b
 * Operation is not affected by emulation suspend
 * Continuous up count mode
 * Enable timer operations
 */
        T2CON = 0x9040;

} /* time_base_init() */

void evm_pwm_init(void)
{
        MCRA     = MCRA & 0XBFFF;        /* Select Secondary function IOPB6 */
        PBDATDIR = PBDATDIR |0X4000;     /* Set IOPB6 as output        */
        PBDATDIR = PBDATDIR & EVM_IOPB6; /* Set IOPB6 low/high, Enable/disable PWM  */
} /* evm_pwm_init */

void update_v_timer(void)
{
   bldc.cmtn.v_timer++;                  /* Inc virtual timer */
   bldc.cmtn.v_timer = bldc.cmtn.v_timer & 0x7fff;   /* Force 15 bit wrap around and save */
}/* update_v_timer */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩电影免费在线| 婷婷中文字幕综合| 国产成人自拍在线| 久久丁香综合五月国产三级网站| 色哟哟精品一区| 亚洲欧洲另类国产综合| 国产一区91精品张津瑜| 久久夜色精品国产噜噜av| 精品一区在线看| 精品国产一区久久| 精品一区二区三区免费观看| 欧美精品一区二区三区在线播放 | 亚洲综合色成人| 一本到一区二区三区| 亚洲男人的天堂一区二区| 91免费观看国产| 亚洲色图视频网| 91久久精品国产91性色tv| 亚洲精品国产精品乱码不99| 99re热视频精品| 亚洲欧美另类小说| 91麻豆国产在线观看| 亚洲综合一区二区| 欧洲av在线精品| 亚洲国产成人精品视频| 欧美探花视频资源| 日韩黄色片在线观看| 日韩一区二区三| 精品亚洲国内自在自线福利| 精品电影一区二区| 国产成人一级电影| 亚洲欧洲日韩av| 在线观看国产精品网站| 天天av天天翘天天综合网色鬼国产| 欧美丰满少妇xxxbbb| 久久国产精品区| 国产欧美日韩卡一| 97精品久久久午夜一区二区三区 | 亚洲一二三区在线观看| 欧美视频中文字幕| 在线播放日韩导航| 日本欧洲一区二区| 久久婷婷成人综合色| 91在线视频播放地址| 亚洲欧美日韩中文字幕一区二区三区| 97超碰欧美中文字幕| 亚洲国产三级在线| 日韩一级二级三级| 国产黄色精品网站| 一区二区三区不卡视频 | 欧美亚洲一区二区在线| 日本欧美久久久久免费播放网| 欧美精品一区二区久久久| av午夜精品一区二区三区| 亚洲444eee在线观看| 久久午夜电影网| 色又黄又爽网站www久久| 日本va欧美va欧美va精品| 国产日韩欧美精品在线| 91黄色激情网站| 国内久久婷婷综合| 亚洲欧美另类图片小说| 日韩欧美黄色影院| 色综合久久久久网| 久久成人麻豆午夜电影| 综合久久久久久| 欧美一级精品在线| 91在线视频播放地址| 蜜臀av一区二区在线免费观看| 中文字幕欧美国产| 欧美福利一区二区| av影院午夜一区| 理论电影国产精品| 一区二区三区av电影| 亚洲精品在线免费播放| 在线免费观看日本一区| 国产一区二区三区电影在线观看 | 国产精品国产馆在线真实露脸| 777奇米四色成人影色区| 成人国产精品免费| 麻豆精品视频在线观看免费| 亚洲免费av观看| 国产偷国产偷精品高清尤物| 欧美日韩国产bt| aaa国产一区| 国产在线国偷精品免费看| 亚洲小说春色综合另类电影| 欧美激情综合网| 91精品国产欧美一区二区成人| 99精品视频在线观看| 九色综合国产一区二区三区| 亚洲综合精品自拍| 亚洲国产电影在线观看| 欧美一级午夜免费电影| 欧美性高清videossexo| 成人app在线| 国内精品视频666| 日韩电影免费在线观看网站| 一区二区三区日韩在线观看| 国产欧美一区二区精品忘忧草| 91精品国产一区二区人妖| 色综合天天综合狠狠| 国产成人免费在线观看不卡| 美女一区二区三区| 香蕉加勒比综合久久| 亚洲欧美日韩小说| 国产精品美女久久久久高潮| 久久九九全国免费| 欧美刺激午夜性久久久久久久| 精品视频在线免费| 色88888久久久久久影院按摩| 白白色亚洲国产精品| 丁香婷婷综合网| 国产一区二区精品久久91| 免费成人av在线| 丝袜国产日韩另类美女| 一区二区三区精品视频在线| 亚洲色图在线播放| 成人欧美一区二区三区1314| 日本一区二区三区久久久久久久久不 | 亚洲一区二区综合| 亚洲视频狠狠干| 中文字幕视频一区二区三区久| 亚洲国产精品99久久久久久久久| 国产亚洲一区字幕| 337p日本欧洲亚洲大胆色噜噜| 欧美一级淫片007| 欧美一级欧美一级在线播放| 制服丝袜中文字幕一区| 欧美疯狂做受xxxx富婆| 欧美精品九九99久久| 欧美精品久久天天躁| 欧美精品v日韩精品v韩国精品v| 欧美日韩国产不卡| 91麻豆精品91久久久久同性| 欧美精品久久99| 日韩视频一区二区三区 | 欧美日韩综合不卡| 欧美三区在线视频| 欧美精品一级二级| 91精品在线免费观看| 日韩一区二区三区av| 精品国产sm最大网站| 久久久久久9999| 国产精品免费久久| 亚洲色图制服诱惑| 亚洲午夜一二三区视频| 日日摸夜夜添夜夜添国产精品 | 亚洲美女在线一区| 亚洲午夜精品一区二区三区他趣| 亚洲成人在线网站| 日本vs亚洲vs韩国一区三区二区 | 亚洲免费观看在线视频| 亚洲成人精品一区| 蜜桃av一区二区| 国产大片一区二区| 99久久夜色精品国产网站| 色偷偷成人一区二区三区91| 欧美性一区二区| 日韩限制级电影在线观看| 久久久久久久久蜜桃| 中文字幕制服丝袜成人av | 国产欧美日韩不卡免费| 亚洲日本一区二区三区| 亚洲午夜三级在线| 麻豆视频一区二区| 成人性生交大片免费看中文| 色天天综合久久久久综合片| 欧美精品日韩综合在线| 久久综合久久99| 亚洲免费观看高清完整版在线观看熊| 亚洲h在线观看| 国产精品影视网| 色视频成人在线观看免| 欧美一区二区三区视频在线观看| 久久久亚洲欧洲日产国码αv| 亚洲图片欧美激情| 日产国产欧美视频一区精品| 国产成人午夜电影网| 欧美午夜精品一区| 久久婷婷成人综合色| 亚洲精品高清视频在线观看| 免费看日韩a级影片| 成人看片黄a免费看在线| 欧美色倩网站大全免费| 久久色视频免费观看| 亚洲综合无码一区二区| 韩国v欧美v日本v亚洲v| 日本大香伊一区二区三区| 日韩精品一区二区三区中文精品| 亚洲三级在线看| 毛片一区二区三区| 一本一道久久a久久精品综合蜜臀| 欧美一区二区免费观在线| 国产精品美女一区二区三区| 日韩精品久久理论片| 北岛玲一区二区三区四区| 日韩欧美一区在线观看| 综合色天天鬼久久鬼色| 老司机精品视频在线|