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

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

?? ecs_main.c

?? DSP2808控制步進電機
?? C
字號:
/* ==============================================================================
System Name: Micro stepping bipolar drive for two-phase stepping motor

File Name:	ecs_main.c

Description:	Primary system file

Originator:		ECS Development

Target:  TMS320F2808

=====================================================================================
 History:
-------------------------------------------------------------------------------------
 06-15-2006	Release	Rev 1.0 : Original release
=================================================================================  */

// Include header files used in the main function
#include "ECS_MAIN.h"

// Global variables used in this system
float T = 0.001/ISR_FREQUENCY;    // Samping period (sec), see ECS_MAIN.h
float IpeakRef = 0.2;			  // Ipeak reference (pu) 
float SpeedRef = 1.0;             // Speed reference (pu) 

unsigned int IsrTicker = 0;
unsigned int BackTicker = 0;
volatile unsigned int EnableFlag = FALSE;

int DlogCh1 = 0;
int DlogCh2 = 0;
int DlogCh3 = 0;
int DlogCh4 = 0;
DLOG_4CH dlog = DLOG_4CH_DEFAULTS;      

// Stepping motor 1
MICROSTEP motor1 = MICROSTEP_DEFAULTS;

//PWM3PH pwm1 = PWM3PH_DEFAULTS;
uSTEP_8S pwm1 = uSTEP_8S_DEFAULTS;
ADC6CH adc1 = ADC6CH_DEFAULTS;


void main(void)
{

// Initialize System Control registers, PLL, WatchDog, Clocks to default state:
        // This function is found in the DSP280x_SysCtrl.c file.
	InitSysCtrl();

// Globally synchronize all ePWM modules to the time base clock (TBCLK)
    EALLOW;
    SysCtrlRegs.PCLKCR0.bit.TBCLKSYNC = 1;
    EDIS;

// HISPCP prescale register settings, normally it will be set to default values
    EALLOW;   // This is needed to write to EALLOW protected registers
    SysCtrlRegs.HISPCP.all = 0x0000;     // SYSCLKOUT/1 
    EDIS;   // This is needed to disable write to EALLOW protected registers 

// Disable and clear all CPU interrupts:
	DINT;
	IER = 0x0000;
	IFR = 0x0000;

// Initialize Pie Control Registers To Default State:
        // This function is found in the DSP280x_PieCtrl.c file.
	InitPieCtrl();

// Initialize the PIE Vector Table To a Known State:
        // This function is found in DSP280x_PieVect.c.
	// This function populates the PIE vector table with pointers
        // to the shell ISR functions found in DSP280x_DefaultIsr.c.
	InitPieVectTable();	

// User specific functions, Reassign vectors (optional), Enable Interrupts:

   // Waiting for enable flag set
   while (EnableFlag==FALSE) { 
      BackTicker++;
    }

// Enable CNT_zero interrupt using EPWM1 Time-base
    EPwm1Regs.ETSEL.bit.INTEN = 1;   // Enable EPWM1INT generation 
    EPwm1Regs.ETSEL.bit.INTSEL = 1;  // Enable interrupt CNT_zero event
    EPwm1Regs.ETPS.bit.INTPRD = 1;   // Generate interrupt on the 1st event
    EPwm1Regs.ETCLR.bit.INT = 1;     // Enable more interrupts

// Reassign ISRs. 
        // Reassign the PIE vector for EPWM1_INT to point to a different 
        // ISR then the shell routine found in DSP280x_DefaultIsr.c.
        // This is done if the user does not want to use the shell ISR routine
        // but instead wants to use their own ISR.

	EALLOW;	// This is needed to write to EALLOW protected registers
	PieVectTable.EPWM1_INT = &ControlLoop1;
	EDIS;   // This is needed to disable write to EALLOW protected registers

// Enable PIE group 3 interrupt 1 for EPWM1_INT
    PieCtrlRegs.PIEIER3.all = M_INT1;

// Enable CPU INT3 for EPWM1_INT:
	IER |= M_INT3;



// ***************** LEVEL1 *****************
#if (BUILDLEVEL==LEVEL1)

    MICROSTEP_Init(&motor1);

    // Initialize PWM module
    pwm1.PeriodMax = (SYSTEM_FREQUENCY*1000000*T)/2;  // Perscaler X1 (T1), ISR period = T x 1, Asymmetric PWM 
	pwm1.init(&pwm1);

    // Initialize ADC module
	adc1.ChSelect1 = 0x3210;
	adc1.ChSelect2 = 0x0054;
	adc1.init(&adc1);

#endif // (BUILDLEVEL==LEVEL1)


// Initialize DATALOG module
    dlog.iptr1 = &DlogCh1;
    dlog.iptr2 = &DlogCh2;
    dlog.iptr3 = &DlogCh3;
    dlog.iptr4 = &DlogCh4;
    dlog.trig_value = 0x4000;
    dlog.size = 0x400;
    dlog.prescalar = 20;
    dlog.init(&dlog);


// Enable global Interrupts and higher priority real-time debug events:
	EINT;   // Enable Global interrupt INTM
	ERTM;	// Enable Global realtime interrupt DBGM

// IDLE loop. Just sit and loop forever:	
	for(;;) BackTicker++;
}


interrupt void ControlLoop1(void)
{

// Verifying the ISR
    IsrTicker++;

// ***************** LEVEL1 *****************
#if (BUILDLEVEL==LEVEL1)


// -----------------------------------------------------------------------------
//    Call ADC update function.
// -----------------------------------------------------------------------------
	  adc1.update(&adc1);

// -----------------------------------------------------------------------------
//    Call the MICROSTEP_Update function to perform the runtime tasks of the 
//     MICROSTEP_Update algorithm.
// -----------------------------------------------------------------------------
      motor1.Ref.Ipeak = _IQ(IpeakRef);
      motor1.Ref.Spd = _IQ(SpeedRef);
      motor1.Fdb.Ia = _IQ15toIQ((long)adc1.Ch1Out);
      motor1.Fdb.Ib = _IQ15toIQ((long)adc1.Ch2Out);
      MICROSTEP_Update(&motor1); 

// -----------------------------------------------------------------------------
//    Call PWM update function.
// -----------------------------------------------------------------------------
       pwm1.DutyFunc_A = (int16)_IQtoIQ15(motor1.Vref.SinDisc);
       pwm1.DutyFunc_B = (int16)_IQtoIQ15(motor1.Vref.CosDisc);
       pwm1.SinMod_update(&pwm1);

// ------------------------------------------------------------------------------
//    Connect inputs of the DATALOG module 
// ------------------------------------------------------------------------------
       DlogCh1 = (int)_IQtoIQ15(motor1.AngGen.AngleOut);
       DlogCh2 = (int)_IQtoIQ15(motor1.Zoh_Ang.SignalOut);
       DlogCh3 = (int)_IQtoIQ15(_IQsinPU(motor1.AngGen.AngleOut));
       DlogCh4 = (int)_IQtoIQ15(_IQsinPU(motor1.Zoh_Ang.SignalOut));

#endif // (BUILDLEVEL==LEVEL1)


// ------------------------------------------------------------------------------
//    Call the DATALOG update function.
// ------------------------------------------------------------------------------
    dlog.update(&dlog);

// Enable more interrupts from this timer
	EPwm1Regs.ETCLR.bit.INT = 1;

// Acknowledge interrupt to recieve more interrupts from PIE group 3
	PieCtrlRegs.PIEACK.all = PIEACK_GROUP3;

}

//===========================================================================
// No more.
//===========================================================================

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品夜色噜噜亚洲a∨| 秋霞午夜鲁丝一区二区老狼| 国产片一区二区| 亚洲免费在线看| 麻豆精品在线播放| 99久久综合精品| 3d成人动漫网站| 国产日韩欧美不卡在线| 成人av网站在线观看免费| 在线播放视频一区| 国产精品女主播av| 免费观看在线色综合| 久久免费看少妇高潮| 午夜久久电影网| 成人av免费在线| 亚洲综合网站在线观看| 99麻豆久久久国产精品免费| 亚洲国产综合色| 91官网在线免费观看| 国产精品―色哟哟| 欧美三级三级三级爽爽爽| 亚洲欧美成人一区二区三区| 欧美日韩精品三区| 午夜久久久影院| 久久亚洲私人国产精品va媚药| 免费高清在线视频一区·| 欧美国产精品v| 国产成人免费视频| 欧美不卡一区二区| 日韩高清国产一区在线| 欧美日韩一区二区三区四区 | 午夜精品久久久久久久99樱桃| 欧美一级一级性生活免费录像| 亚洲一区二区三区美女| 337p粉嫩大胆噜噜噜噜噜91av| 91老师国产黑色丝袜在线| 国产精品久久三区| 成人美女在线视频| 国产精品久久久久久久久果冻传媒| 欧美在线|欧美| 午夜私人影院久久久久| 国产丝袜美腿一区二区三区| 欧美日韩你懂的| 不卡电影免费在线播放一区| 日本欧美一区二区| 亚洲免费在线视频| 国产亚洲精品久| 欧美一区二区三区免费| 91丨国产丨九色丨pron| 国产激情一区二区三区| 日韩 欧美一区二区三区| 亚洲欧美激情视频在线观看一区二区三区 | 成人av在线资源网站| 美女爽到高潮91| 亚洲成人高清在线| 欧美一区二区三区四区视频| 一本一道波多野结衣一区二区| 一区二区三区免费看视频| 欧美日韩综合一区| 99久久综合色| 大胆亚洲人体视频| 国产在线看一区| 亚洲国产电影在线观看| 欧美成人女星排名| 制服丝袜亚洲色图| 欧美日韩中字一区| 91在线精品一区二区| 丝袜美腿亚洲色图| 国产三级一区二区| 久久综合九色综合欧美亚洲| 日韩欧美中文字幕公布| 国产成人午夜电影网| 国产在线视频精品一区| 韩国午夜理伦三级不卡影院| 麻豆精品国产91久久久久久| 日韩一区精品字幕| 日韩av中文字幕一区二区| 五月综合激情网| 亚洲色图20p| 日韩欧美亚洲一区二区| www.久久精品| 97se亚洲国产综合自在线| 波波电影院一区二区三区| 成人av网站免费观看| 91丨porny丨国产| 色综合久久久久综合| 色综合久久中文综合久久97| 色先锋资源久久综合| 欧美在线观看一区| 欧美二区三区91| 欧美日韩三级一区| 欧美电视剧免费观看| 日韩欧美一级二级三级久久久| 欧美一区二区三区啪啪| 日韩欧美精品在线| 久久久久久久综合色一本| 国产婷婷色一区二区三区四区| 久久久久国产精品麻豆 | 国产精品国产馆在线真实露脸 | 欧美一区二区在线不卡| 日韩欧美国产小视频| 国产亚洲精品中文字幕| 亚洲免费av网站| 石原莉奈一区二区三区在线观看| 黑人巨大精品欧美一区| 97精品电影院| 欧美一区二区人人喊爽| 中文字幕成人网| 亚洲高清不卡在线观看| 激情五月婷婷综合| aaa欧美大片| 欧美一区二区在线播放| 国产精品天干天干在观线| 亚洲v精品v日韩v欧美v专区| 国产一二三精品| 男人操女人的视频在线观看欧美| 国产一区二区看久久| 色8久久人人97超碰香蕉987| 日韩一区二区三区三四区视频在线观看 | 国产·精品毛片| 韩国av一区二区三区| 97se亚洲国产综合在线| 亚洲综合视频在线观看| 久久国产精品免费| 久久99热国产| 色婷婷国产精品| 国产午夜精品久久久久久免费视| 成人免费在线观看入口| 亚洲欧洲精品一区二区精品久久久| 夜夜精品浪潮av一区二区三区| 国产在线麻豆精品观看| 欧美日韩在线观看一区二区| 中文字幕av一区二区三区高| 同产精品九九九| 91丝袜美女网| 国产日韩v精品一区二区| 亚洲女同ⅹxx女同tv| 国产精品一区二区x88av| 成人av影院在线| 日韩精品一区二区三区在线| 亚洲一二三四在线| 不卡视频在线看| 日韩免费高清av| 亚洲成人在线免费| 99精品视频在线观看| 国产亚洲成av人在线观看导航 | 亚洲女与黑人做爰| 国产成人无遮挡在线视频| 在线成人av网站| 一区二区三区小说| 成人av在线影院| 国产三级久久久| 国产一区在线不卡| 日韩三级免费观看| 日韩精品久久久久久| 欧美三级电影精品| 亚洲美女偷拍久久| 99re在线精品| 国产精品久久久久影院老司 | 综合自拍亚洲综合图不卡区| 国产自产v一区二区三区c| 欧美成人video| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美三级中文字| 午夜成人免费视频| 91精品国产全国免费观看| 丝袜美腿亚洲色图| 欧美一级午夜免费电影| 蜜臀精品一区二区三区在线观看| 欧美一区二区三区四区视频| 免费观看91视频大全| 26uuu国产电影一区二区| 激情都市一区二区| 久久久久久久久久久电影| 国产老女人精品毛片久久| 国产亚洲成aⅴ人片在线观看| 国产成人免费视| 18欧美亚洲精品| 欧美日精品一区视频| 蜜桃视频免费观看一区| 久久久精品免费网站| 成人综合在线观看| 一区二区三区日本| 欧美精品一二三| 黑人巨大精品欧美一区| 国产亚洲欧美在线| 97精品久久久久中文字幕| 亚洲影视资源网| 日韩欧美三级在线| www.日本不卡| 婷婷久久综合九色国产成人 | 麻豆成人在线观看| 久久精品视频网| 色狠狠色噜噜噜综合网| 亚洲gay无套男同| 国产婷婷一区二区| 欧美影片第一页| 亚洲欧美日韩在线| 欧美老肥妇做.爰bbww| 激情欧美一区二区|