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

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

?? example_2833xepwmupaq.c

?? TI最新DSP28335的例子
?? C
?? 第 1 頁 / 共 2 頁
字號:
interrupt void epwm3_isr(void)
{

   // Update the CMPA and CMPB values
   update_compare(&epwm3_info);

   // Clear INT flag for this timer
   EPwm3Regs.ETCLR.bit.INT = 1;

   // Acknowledge this interrupt to receive more interrupts from group 3
   PieCtrlRegs.PIEACK.all = PIEACK_GROUP3;
}

void InitEPwm1Example()
{

   // Setup TBCLK
   EPwm1Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; // Count up
   EPwm1Regs.TBPRD = EPWM1_TIMER_TBPRD;       // Set timer period
   EPwm1Regs.TBCTL.bit.PHSEN = TB_DISABLE;    // Disable phase loading
   EPwm1Regs.TBPHS.half.TBPHS = 0x0000;       // Phase is 0
   EPwm1Regs.TBCTR = 0x0000;                  // Clear counter
   EPwm1Regs.TBCTL.bit.HSPCLKDIV = TB_DIV2;   // Clock ratio to SYSCLKOUT
   EPwm1Regs.TBCTL.bit.CLKDIV = TB_DIV2;

   // Setup shadow register load on ZERO
   EPwm1Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
   EPwm1Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
   EPwm1Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;
   EPwm1Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;

   // Set Compare values
   EPwm1Regs.CMPA.half.CMPA = EPWM1_MIN_CMPA;    // Set compare A value
   EPwm1Regs.CMPB = EPWM1_MIN_CMPB;              // Set Compare B value

   // Set actions
   EPwm1Regs.AQCTLA.bit.ZRO = AQ_SET;            // Set PWM1A on Zero
   EPwm1Regs.AQCTLA.bit.CAU = AQ_CLEAR;          // Clear PWM1A on event A, up count

   EPwm1Regs.AQCTLB.bit.ZRO = AQ_SET;            // Set PWM1B on Zero
   EPwm1Regs.AQCTLB.bit.CBU = AQ_CLEAR;          // Clear PWM1B on event B, up count

   // Interrupt where we will change the Compare Values
   EPwm1Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO;     // Select INT on Zero event
   EPwm1Regs.ETSEL.bit.INTEN = 1;                // Enable INT
   EPwm1Regs.ETPS.bit.INTPRD = ET_3RD;           // Generate INT on 3rd event

   // Information this example uses to keep track
   // of the direction the CMPA/CMPB values are
   // moving, the min and max allowed values and
   // a pointer to the correct ePWM registers
   epwm1_info.EPwm_CMPA_Direction = EPWM_CMP_UP; // Start by increasing CMPA & CMPB
   epwm1_info.EPwm_CMPB_Direction = EPWM_CMP_UP;
   epwm1_info.EPwmTimerIntCount = 0;             // Zero the interrupt counter
   epwm1_info.EPwmRegHandle = &EPwm1Regs;        // Set the pointer to the ePWM module
   epwm1_info.EPwmMaxCMPA = EPWM1_MAX_CMPA;      // Setup min/max CMPA/CMPB values
   epwm1_info.EPwmMinCMPA = EPWM1_MIN_CMPA;
   epwm1_info.EPwmMaxCMPB = EPWM1_MAX_CMPB;
   epwm1_info.EPwmMinCMPB = EPWM1_MIN_CMPB;

}


void InitEPwm2Example()
{
   // Setup TBCLK
   EPwm2Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; // Count up
   EPwm2Regs.TBPRD = EPWM2_TIMER_TBPRD;       // Set timer period
   EPwm2Regs.TBCTL.bit.PHSEN = TB_DISABLE;    // Disable phase loading
   EPwm2Regs.TBPHS.half.TBPHS = 0x0000;       // Phase is 0
   EPwm2Regs.TBCTR = 0x0000;                  // Clear counter
   EPwm2Regs.TBCTL.bit.HSPCLKDIV = TB_DIV2;   // Clock ratio to SYSCLKOUT
   EPwm2Regs.TBCTL.bit.CLKDIV = TB_DIV2;

   // Setup shadow register load on ZERO
   EPwm2Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
   EPwm2Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
   EPwm2Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;
   EPwm2Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;

   // Set Compare values
   EPwm2Regs.CMPA.half.CMPA = EPWM2_MIN_CMPA;       // Set compare A value
   EPwm2Regs.CMPB = EPWM2_MAX_CMPB;                 // Set Compare B value

   // Set actions
   EPwm2Regs.AQCTLA.bit.PRD = AQ_CLEAR;             // Clear PWM2A on Period
   EPwm2Regs.AQCTLA.bit.CAU = AQ_SET;               // Set PWM2A on event A, up count

   EPwm2Regs.AQCTLB.bit.PRD = AQ_CLEAR;             // Clear PWM2B on Period
   EPwm2Regs.AQCTLB.bit.CBU = AQ_SET;               // Set PWM2B on event B, up count

   // Interrupt where we will change the Compare Values
   EPwm2Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO;        // Select INT on Zero event
   EPwm2Regs.ETSEL.bit.INTEN = 1;                   // Enable INT
   EPwm2Regs.ETPS.bit.INTPRD = ET_3RD;              // Generate INT on 3rd event

   // Information this example uses to keep track
   // of the direction the CMPA/CMPB values are
   // moving, the min and max allowed values and
   // a pointer to the correct ePWM registers
   epwm2_info.EPwm_CMPA_Direction = EPWM_CMP_UP;    // Start by increasing CMPA
   epwm2_info.EPwm_CMPB_Direction = EPWM_CMP_DOWN;  // and decreasing CMPB
   epwm2_info.EPwmTimerIntCount = 0;                // Zero the interrupt counter
   epwm2_info.EPwmRegHandle = &EPwm2Regs;           // Set the pointer to the ePWM module
   epwm2_info.EPwmMaxCMPA = EPWM2_MAX_CMPA;         // Setup min/max CMPA/CMPB values
   epwm2_info.EPwmMinCMPA = EPWM2_MIN_CMPA;
   epwm2_info.EPwmMaxCMPB = EPWM2_MAX_CMPB;
   epwm2_info.EPwmMinCMPB = EPWM2_MIN_CMPB;

}


void InitEPwm3Example(void)
{


   // Setup TBCLK
   EPwm3Regs.TBCTL.bit.CTRMODE = TB_COUNT_UP; // Count up
   EPwm3Regs.TBPRD = EPWM3_TIMER_TBPRD;       // Set timer period
   EPwm3Regs.TBCTL.bit.PHSEN = TB_DISABLE;    // Disable phase loading
   EPwm3Regs.TBPHS.half.TBPHS = 0x0000;       // Phase is 0
   EPwm3Regs.TBCTR = 0x0000;                  // Clear counter
   EPwm3Regs.TBCTL.bit.HSPCLKDIV = TB_DIV1;   // Clock ratio to SYSCLKOUT
   EPwm3Regs.TBCTL.bit.CLKDIV = TB_DIV1;

   // Setup shadow register load on ZERO
   EPwm3Regs.CMPCTL.bit.SHDWAMODE = CC_SHADOW;
   EPwm3Regs.CMPCTL.bit.SHDWBMODE = CC_SHADOW;
   EPwm3Regs.CMPCTL.bit.LOADAMODE = CC_CTR_ZERO;
   EPwm3Regs.CMPCTL.bit.LOADBMODE = CC_CTR_ZERO;

  // Set Compare values
   EPwm3Regs.CMPA.half.CMPA = EPWM3_MIN_CMPA; // Set compare A value
   EPwm3Regs.CMPB = EPWM3_MAX_CMPB;           // Set Compare B value

   // Set Actions
   EPwm3Regs.AQCTLA.bit.CAU = AQ_SET;         // Set PWM3A on event B, up count
   EPwm3Regs.AQCTLA.bit.CBU = AQ_CLEAR;       // Clear PWM3A on event B, up count

   EPwm3Regs.AQCTLB.bit.ZRO = AQ_TOGGLE;      // Toggle EPWM3B on Zero

   // Interrupt where we will change the Compare Values
   EPwm3Regs.ETSEL.bit.INTSEL = ET_CTR_ZERO;     // Select INT on Zero event
   EPwm3Regs.ETSEL.bit.INTEN = 1;                // Enable INT
   EPwm3Regs.ETPS.bit.INTPRD = ET_3RD;           // Generate INT on 3rd event

   // Start by increasing the compare A and decreasing compare B
   epwm3_info.EPwm_CMPA_Direction = EPWM_CMP_UP;
   epwm3_info.EPwm_CMPB_Direction = EPWM_CMP_DOWN;
   // Start the cout at 0
   epwm3_info.EPwmTimerIntCount = 0;
   epwm3_info.EPwmRegHandle = &EPwm3Regs;
   epwm3_info.EPwmMaxCMPA = EPWM3_MAX_CMPA;
   epwm3_info.EPwmMinCMPA = EPWM3_MIN_CMPA;
   epwm3_info.EPwmMaxCMPB = EPWM3_MAX_CMPB;
   epwm3_info.EPwmMinCMPB = EPWM3_MIN_CMPB;
}


void update_compare(EPWM_INFO *epwm_info)
{


   // Every 10'th interrupt, change the CMPA/CMPB values
   if(epwm_info->EPwmTimerIntCount == 10)
   {
       epwm_info->EPwmTimerIntCount = 0;

       // If we were increasing CMPA, check to see if
       // we reached the max value.  If not, increase CMPA
       // else, change directions and decrease CMPA
	   if(epwm_info->EPwm_CMPA_Direction == EPWM_CMP_UP)
	   {
	       if(epwm_info->EPwmRegHandle->CMPA.half.CMPA < epwm_info->EPwmMaxCMPA)
	       {
	          epwm_info->EPwmRegHandle->CMPA.half.CMPA++;
	       }
	       else
	       {
	          epwm_info->EPwm_CMPA_Direction = EPWM_CMP_DOWN;
              epwm_info->EPwmRegHandle->CMPA.half.CMPA--;
	       }
	   }

	   // If we were decreasing CMPA, check to see if
       // we reached the min value.  If not, decrease CMPA
       // else, change directions and increase CMPA
	   else
	   {
	       if(epwm_info->EPwmRegHandle->CMPA.half.CMPA == epwm_info->EPwmMinCMPA)
	       {
	          epwm_info->EPwm_CMPA_Direction = EPWM_CMP_UP;
	          epwm_info->EPwmRegHandle->CMPA.half.CMPA++;
	       }
	       else
	       {
	          epwm_info->EPwmRegHandle->CMPA.half.CMPA--;
	       }
	   }

	   // If we were increasing CMPB, check to see if
       // we reached the max value.  If not, increase CMPB
       // else, change directions and decrease CMPB
	   if(epwm_info->EPwm_CMPB_Direction == EPWM_CMP_UP)
	   {
	       if(epwm_info->EPwmRegHandle->CMPB < epwm_info->EPwmMaxCMPB)
	       {
	          epwm_info->EPwmRegHandle->CMPB++;
	       }
	       else
	       {
	          epwm_info->EPwm_CMPB_Direction = EPWM_CMP_DOWN;
	          epwm_info->EPwmRegHandle->CMPB--;
	       }
	   }

	   // If we were decreasing CMPB, check to see if
       // we reached the min value.  If not, decrease CMPB
       // else, change directions and increase CMPB

	   else
	   {
	       if(epwm_info->EPwmRegHandle->CMPB == epwm_info->EPwmMinCMPB)
	       {
	          epwm_info->EPwm_CMPB_Direction = EPWM_CMP_UP;
	          epwm_info->EPwmRegHandle->CMPB++;
	       }
	       else
	       {
	          epwm_info->EPwmRegHandle->CMPB--;
	       }
	   }
   }
   else
   {
      epwm_info->EPwmTimerIntCount++;
   }

   return;
}


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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一级免费大片| 一区二区三区不卡视频在线观看 | 中文字幕在线免费不卡| 伊人一区二区三区| 国产精品一区二区在线观看不卡 | 激情五月婷婷综合网| 91久久国产最好的精华液| 日韩一区二区影院| 亚洲国产视频一区| 91在线你懂得| 国产色产综合产在线视频| 精品亚洲欧美一区| 欧美自拍偷拍午夜视频| 国产女人18水真多18精品一级做| 丝袜诱惑亚洲看片| 在线观看免费视频综合| 1024成人网| 成人福利视频网站| 久久九九久久九九| 国产麻豆一精品一av一免费| 91精品国产色综合久久不卡蜜臀 | 亚洲日本va在线观看| 国产电影一区二区三区| 2017欧美狠狠色| 精品在线观看免费| 欧美va亚洲va| 精久久久久久久久久久| 日韩欧美自拍偷拍| 精品在线播放免费| 久久综合99re88久久爱| 精油按摩中文字幕久久| 精品免费视频一区二区| 久久国产尿小便嘘嘘尿| 日韩一区二区三区电影在线观看 | 99精品视频一区| 国产精品久久久久一区二区三区| 国产成人高清在线| 国产午夜精品久久久久久久| 精品伊人久久久久7777人| 精品国产a毛片| 精品一区二区久久久| 精品国产亚洲在线| 国产美女av一区二区三区| 久久这里只有精品首页| 国产盗摄一区二区| 亚洲丝袜美腿综合| 欧美日韩在线三区| 日本美女一区二区| 久久丝袜美腿综合| 波多野结衣中文字幕一区二区三区| 欧美国产丝袜视频| 欧美久久久久久久久| 蜜桃一区二区三区在线观看| 精品国产99国产精品| 国产91露脸合集magnet| 亚洲免费观看高清完整版在线观看熊| 91久久久免费一区二区| 日本中文在线一区| 久久久久久久精| 色视频成人在线观看免| 奇米色777欧美一区二区| 国产日韩欧美在线一区| 91麻豆福利精品推荐| 天天操天天干天天综合网| 亚洲精品一区二区精华| 91小视频免费观看| 蜜桃精品视频在线观看| 亚洲欧美影音先锋| 日韩免费观看高清完整版在线观看| 国精产品一区一区三区mba桃花| 中文字幕精品三区| 欧美一卡二卡三卡| 91片黄在线观看| 蜜桃在线一区二区三区| 亚洲日本在线a| 精品电影一区二区三区| 在线免费观看日韩欧美| 国产麻豆一精品一av一免费| 亚洲va国产va欧美va观看| 久久久久久久久免费| 337p亚洲精品色噜噜噜| 国产69精品久久777的优势| 偷偷要91色婷婷| 自拍偷拍欧美激情| 欧美精品一区视频| 在线电影一区二区三区| 99久久亚洲一区二区三区青草| 日本vs亚洲vs韩国一区三区 | 久久久精品tv| 欧美精品日韩精品| 精品欧美久久久| 在线看不卡av| 99精品视频一区| 成人黄色国产精品网站大全在线免费观看 | 欧美一区二区网站| 一本色道**综合亚洲精品蜜桃冫| 捆绑调教一区二区三区| 亚洲综合久久久久| 亚洲女厕所小便bbb| 久久免费看少妇高潮| 欧美一二区视频| 欧美日产在线观看| 欧美体内she精高潮| 99久久99久久精品国产片果冻 | 国产日产欧美一区二区三区| 日韩欧美国产1| 在线成人免费观看| 91精品麻豆日日躁夜夜躁| 欧美性受极品xxxx喷水| 色综合中文综合网| 成人午夜av影视| 成人午夜av电影| 97精品久久久午夜一区二区三区| 国产精品亚洲一区二区三区妖精 | 久久99精品久久久久久久久久久久 | 国产成人在线视频免费播放| 九九在线精品视频| 精品一区二区三区在线视频| 免费在线观看日韩欧美| 美女在线一区二区| 久久99精品国产麻豆婷婷| 久久国产精品区| 久久99九九99精品| 成人一区二区三区在线观看| 不卡的看片网站| 色激情天天射综合网| 在线看国产一区二区| 欧美精品第1页| 精品国产一区二区在线观看| 久久女同性恋中文字幕| 欧美国产1区2区| 亚洲三级在线观看| 天堂成人国产精品一区| 久久国产视频网| 成人精品国产福利| 在线亚洲一区二区| 欧美一区二区大片| 国产午夜精品久久久久久久| 亚洲视频一二三区| 日本不卡的三区四区五区| 国产麻豆午夜三级精品| 99精品久久99久久久久| 欧美日韩精品专区| 亚洲人成电影网站色mp4| 一区二区三区美女| 理论片日本一区| 色哟哟国产精品| 91麻豆精品国产91久久久| 2022国产精品视频| 亚洲综合视频在线| 国产一区二区三区久久悠悠色av| 成人午夜av在线| 欧美猛男男办公室激情| 久久精品无码一区二区三区| 亚洲柠檬福利资源导航| 激情欧美一区二区| 91久久精品国产91性色tv| 欧美xxxxx牲另类人与| 亚洲日本在线看| 精品一区二区三区在线视频| 一本久道久久综合中文字幕 | 国产一区二区福利视频| 色久综合一二码| 久久久久久综合| 午夜精品久久久久久久99樱桃| 国产一区二区三区美女| 在线播放/欧美激情| 亚洲欧美一区二区在线观看| 久久国产婷婷国产香蕉| 欧美午夜精品一区二区蜜桃| 欧美韩国一区二区| 精品在线播放午夜| 欧美日韩国产另类不卡| 亚洲色图视频网| 国产成人亚洲综合a∨婷婷 | 欧美喷水一区二区| 亚洲品质自拍视频| 国产激情一区二区三区| 日韩女优毛片在线| 亚洲国产成人av| 色综合久久99| 中文字幕一区在线观看视频| 国产主播一区二区| 日韩欧美色综合| 天天色图综合网| 欧美日韩一区二区不卡| 夜夜嗨av一区二区三区中文字幕 | 国产一区二区免费在线| 日韩手机在线导航| 日本欧美在线观看| 欧美日韩亚洲综合| 亚洲自拍欧美精品| 日本高清不卡视频| 亚洲视频免费观看| 91色视频在线| 亚洲欧美成人一区二区三区| 成人激情免费视频| 亚洲人成伊人成综合网小说| 99久久精品国产观看| 综合自拍亚洲综合图不卡区|