⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 events.c

📁 基于56F8346的异步电机VVVF控制程序。
💻 C
字号:
/** ###################################################################
**     Filename  : Events.C
**     Project   : vvvf_56F8346
**     Processor : 56F8346
**     Beantype  : Events
**     Version   : Driver 01.01
**     Compiler  : Metrowerks DSP C Compiler
**     Date/Time : 2008-2-3, 下午 02:57
**     Abstract  :
**         This is user's event module.
**         Put your event handler code here.
**     Settings  :
**     Contents  :
**         No public methods
**
**     (c) Copyright UNIS, spol. s r.o. 1997-2004
**     UNIS, spol. s r.o.
**     Jundrovska 33
**     624 00 Brno
**     Czech Republic
**     http      : www.processorexpert.com
**     mail      : info@processorexpert.com
** ###################################################################*/
/* MODULE Events */

#include "Cpu.h"
#include "Events.h"

Frac16 Frequency_Desired;          //给定运转频率
Frac16 Frequency_Required=50;         //实际运转频率,相当于起始值.
Frac16 Increment_Ramp=1;
Frac16 Decrement_Ramp=1;
Frac16 v=30000;
//int Increment_Ramp = 1;            //斜坡函数增量
//int Decrement_Ramp = 1;
//int v = 30000;                     //电压矢量幅值
Frac16 PhaseIncrement;             //电压矢量角度增量
Frac16 theta;                      //电压矢量角度
mc_s3PhaseSystem p_abc;            //定子电压的a,b,c轴分量 
mc_sPhase pUS_AlphaBeta;           //定子电压的Alpha和Beta轴分量 

/*
** ===================================================================
**     Event       :  TI1_OnInterrupt (module Events)
**
**     From bean   :  TI1 [TimerInt]
**     Description :
**         When a timer interrupt occurs this event is called (only
**         when the bean is enabled - "Enable" and the events are
**         enabled - "EnableEvent").
**     Parameters  : None
**     Returns     : Nothing
** ===================================================================
*/
#pragma interrupt called /* Comment this line if the appropriate 'Interrupt preserve registers' property */
                         /* is set to 'yes' (#pragma interrupt saveall is generated before the ISR)      */
void TI1_OnInterrupt(void)
{
    Frequency_Desired = 100;//50Hz
    Frequency_Required = MC2_rampGetValue(Increment_Ramp,Decrement_Ramp,&Frequency_Required,&Frequency_Desired);
}

/*
** ===================================================================
**     Event       :  PWMC1_OnReload (module Events)
**
**     From bean   :  PWMC1 [PWMMC]
**     Description :
**         This event is called before PWM cycle according to reload
**         frequency. (only when the bean is enabled - <Enable> and
**         the events are enabled - <EnableEvent>) (event is
**         available only if interrupt service/event is enabled).
**     Parameters  : None
**     Returns     : Nothing
** ===================================================================
*/
#pragma interrupt called /* Comment this line if the appropriate 'Interrupt preserve registers' property */
                         /* is set to 'yes' (#pragma interrupt saveall is generated before the ISR)      */
void PWMC1_OnReload(void)
{ 
  PhaseIncrement = Frequency_Required*13/10;//360/(Frequency_Reload*100/Frequency_Required)/180*32768//:没有弄清楚怎么得来的:gsy

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -