📄 main.c
字号:
/*********************************************************************
* File: Main.c *
* Description: Contains the main program for the TEC application. *
* DSP: TMS320F2812 *
* Author: David M. Alter *
* Function List: Main() *
* History: *
* 11/05/02 - Original, based on DSP28 header files v0.58 (D. Alter)*
* Notes: none *
*********************************************************************/
/*********************************************************************
* THIS PROGRAM IS PROVIDED "AS IS". TI MAKES NO WARRANTIES OR *
* REPRESENTATIONS, EITHER EXPRESS, IMPLIED OR STATUTORY, *
* INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS *
* FOR A PARTICULAR PURPOSE, LACK OF VIRUSES, ACCURACY OR *
* COMPLETENESS OF RESPONSES, RESULTS AND LACK OF NEGLIGENCE. *
* TI DISCLAIMS ANY WARRANTY OF TITLE, QUIET ENJOYMENT, QUIET *
* POSSESSION, AND NON-INFRINGEMENT OF ANY THIRD PARTY *
* INTELLECTUAL PROPERTY RIGHTS WITH REGARD TO THE PROGRAM OR *
* YOUR USE OF THE PROGRAM. *
* *
* IN NO EVENT SHALL TI BE LIABLE FOR ANY SPECIAL, INCIDENTAL, *
* CONSEQUENTIAL OR INDIRECT DAMAGES, HOWEVER CAUSED, ON ANY *
* THEORY OF LIABILITY AND WHETHER OR NOT TI HAS BEEN ADVISED *
* OF THE POSSIBILITY OF SUCH DAMAGES, ARISING IN ANY WAY OUT *
* OF THIS AGREEMENT, THE PROGRAM, OR YOUR USE OF THE PROGRAM. *
* EXCLUDED DAMAGES INCLUDE, BUT ARE NOT LIMITED TO, COST OF *
* REMOVAL OR REINSTALLATION, COMPUTER TIME, LABOR COSTS, LOSS *
* OF GOODWILL, LOSS OF PROFITS, LOSS OF SAVINGS, OR LOSS OF *
* USE OR INTERRUPTION OF BUSINESS. IN NO EVENT WILL TI'S *
* AGGREGATE LIABILITY UNDER THIS AGREEMENT OR ARISING OUT OF *
* YOUR USE OF THE PROGRAM EXCEED FIVE HUNDRED DOLLARS *
* (U.S.$500). *
* *
* Unless otherwise stated, the Program written and copyrighted *
* by Texas Instruments is distributed as "freeware". You may, *
* only under TI's copyright in the Program, use and modify the *
* Program without any charge or restriction. You may *
* distribute to third parties, provided that you transfer a *
* copy of this license to the third party and the third party *
* agrees to these terms by its first use of the Program. You *
* must reproduce the copyright notice and any other legend of *
* ownership on each copy or partial copy, of the Program. *
* *
* You acknowledge and agree that the Program contains *
* copyrighted material, trade secrets and other TI proprietary *
* information and is protected by copyright laws, *
* international copyright treaties, and trade secret laws, as *
* well as other intellectual property laws. To protect TI's *
* rights in the Program, you agree not to decompile, reverse *
* engineer, disassemble or otherwise translate any object code *
* versions of the Program to a human-readable form. You agree *
* that in no event will you alter, remove or destroy any *
* copyright notice included in the Program. TI reserves all *
* rights not specifically granted under this license. Except *
* as specifically provided herein, nothing in this agreement *
* shall be construed as conferring by implication, estoppel, *
* or otherwise, upon you, any license or other right under any *
* TI patents, copyrights or trade secrets. *
* *
* You may not use the Program in non-TI devices. *
*********************************************************************/
#include "Device.h"
/*********************************************************************
* Function: main() *
* Description: main routine for the TEC application. *
* DSP: TMS320F2812 *
* Include files: none *
* Function Prototype: void main(void) *
* Useage: main(); *
* Input Parameters: none *
* Return Value: none *
* Notes: none *
*********************************************************************/
void main(void)
{
/*** Initialization ***/
InitSysCtrl(); // Initialize the CPU (FILE: SysCtrl.c)
InitGpio(); // Initialize the shared GPIO pins (FILE: Gpio.c)
InitPieVectTable(); // Initialize the PIE Vectors (FILE: PieVect.c)
InitPieCtrl(); // Enable the PIE (FILE: PieCtrl.c)
InitEv(); // Initialize the Event Managers (FILE: Ev.c)
InitAdc(); // Initialize the ADC (FILE: Adc.c)
/*** Setup the TEC1 parameters ***/
TEC1.r = VREF; // Reference setpoint (0-3.0 volts)
TEC1.ui1 = 0.0; // Initialize ui1 to 0.0
TEC1.e1 = 0.0; // Initialize e1 to 0
TEC1.y1 = 0; // Initialize y1 to 0
TEC1.y2 = 0; // Initialize y2 to 0
TEC1.y3 = 0; // Initialize y3 to 0
TEC1.y4 = 0; // Initialize y4 to 0
TEC1.u_max = PWM_period; // Total control limit
TEC1.ui_max = PWM_period; // I-mode control limit
TEC1.Kp = 750.0; // Kp
TEC1.Ki = 0.4; // Ki'
TEC1.Kd = 125000.0; // Kd'
/*** Get the TEC loop going ***/
InitGptimer2(sample_period); // Initialize timer2 (FILE: TecFunctions.c)
InitPwm(PWM_period); // Enable the PWM (FILE: TecFunctions.c)
/*** Enable global interrupts and the realtime debugger interrupt ***/
asm(" PUSH IER"); // copy the IER to the DBGIER
asm(" POP DBGIER");
asm(" CLRC INTM, DBGM"); // enable global and debugger realtime interrupts
/*** Main loop ***/
while(1) // endless loop, wait for interrupt
{
asm(" NOP");
}
} // end main()
/*** end of file *****************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -