?? data_save.c
字號(hào):
/***********************************************************************************
* FILE:TYPEDEFS.H *
* TMS320LF2407A TEST BED CODE *
* ZHEJIANG TIANHUANG TECHNOLOGY INDUSTRIAL CO.,Ltd *
* 07/28/2006 Vesion 1.0 *
* Jzming *
***********************************************************************************/
#include "TYPEDEFS.H"
#include "F2407_c.H"
#include "CONSTANT.H"
#include "self_define.h"
#include <stdio.h>
#include <math.h>
/* ================================================================== */
void var_query_dram (void);
void var_set_dram(void);
void Double_ram_ini(void);
int parameter_set_flag=0;
extern int n_feed,ia,ib;
extern int adc_vdc;
extern int temp_h,temp_l;
extern int n_ref,speed_kp,speed_ki,speed_kd;
extern int current_kp,current_ki,current_kd;
extern int SPEED_TEMP,init_phase_flag;
/* ================================================================== */
void var_query_dram (void)
{
temp_h = (n_feed>>8) & 0xff;
temp_l = (n_feed) & 0xff;
OUTMAC(0f002h,temp_h);
OUTMAC(0f001h,temp_l);
temp_h = (ia >>8) & 0xff;
temp_l = ia & 0xff;
OUTMAC(0f004h,temp_h);
OUTMAC(0f003h,temp_l);
temp_h = (ib >>8) & 0xff;
temp_l = ib & 0xff;
OUTMAC(0f006h,temp_h);
OUTMAC(0f005h,temp_l);
temp_h =(adc_vdc >>8) & 0xff;
temp_l = adc_vdc & 0xff;
OUTMAC(0f008h,temp_h);
OUTMAC(0f007h,temp_l);
}
/* =================================================================== */
void var_set_dram(void)
{
INMAC(0f020h,temp_l);
parameter_set_flag=temp_l & 0xff;
if(parameter_set_flag!=0)
{
temp_l = 0;
OUTMAC(0f020h,temp_l); //該地址清0
switch(parameter_set_flag)
{
case 1:
INMAC(0f00ah,temp_h);
INMAC(0f00bh,temp_l);
n_ref = (temp_h & 0xff)*100 +(temp_l & 0xff);
SPEED_TEMP=n_ref; //速度值暫存寄存器
//init_phase_flag=1;
if(n_ref>6000) n_ref=6000;
if(n_ref<-6000) n_ref=-6000;
break;
case 8:
INMAC(0f00ah,temp_h);
INMAC(0f00bh,temp_l);
n_ref =0xffff-( (temp_h & 0xff)*100 +(temp_l & 0xff));
if(abs(n_ref)>6000) n_ref=6000;
if(abs(n_ref)<-6000) n_ref=-6000;
break;
case 2:
INMAC(0f00ch,temp_h);
INMAC(0f00dh,temp_l);
speed_kp=(temp_h & 0xff)*100 +(temp_l & 0xff);
if(speed_kp<20) speed_kp=20;
if(speed_kp>500) speed_kp=500;
break;
case 3:
INMAC(0f00eh,temp_l);
current_kp=temp_l & 0xff;
if(current_kp<2) current_kp=2;
if(current_kp>50) current_kp=50;
break;
case 4:
INMAC(0f00fh,temp_l);
speed_ki=temp_l & 0xff;
if(speed_ki<10) speed_ki=10;
if(speed_ki>80) speed_ki=80;
break;
case 5:
INMAC(0f010h,temp_l);
current_ki=temp_l & 0xff;
if(current_ki<1) current_ki=1;
if(current_ki>10) current_ki=10;
break;
case 6:
INMAC(0f011h,temp_l);
speed_kd=temp_l & 0xff;
break;
case 7:
INMAC(0f012h,temp_l);
current_kd=temp_l & 0xff;
break;
}
}
}
/* ======================================================================== */
void Double_ram_ini(void)
{
temp_h = (n_ref>>8) & 0xff;
temp_l = (n_ref) & 0xff;
OUTMAC(0f00ah,temp_h);
OUTMAC(0f00bh,temp_l);
temp_h = (speed_kp>>8) & 0xff;
temp_l = (speed_kp) & 0xff;
OUTMAC(0f00ch,temp_h);
OUTMAC(0f00dh,temp_l);
temp_l = current_kp & 0xff;
OUTMAC(0f00eh,temp_l);
temp_l =speed_ki & 0xff;
OUTMAC(0f00fh,temp_l);
temp_l =current_ki & 0xff;
OUTMAC(0f010h,temp_l);
temp_l =speed_kd & 0xff;
OUTMAC(0f011h,temp_l);
temp_l =current_kd & 0xff;
OUTMAC(0f012h,temp_l);
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -