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

📄 movementdefine.h.bak

📁 UCOSii for c8051f020
💻 BAK
字号:
//***************************************************************************************************************
// FILE NAME         : MovementDefine.C
// FILE DESCRIPTION  :
// TARGET DEVICE     : C8051F021
// CREATED ON        : 2007.12.29
// CREATED BY        : yuanwq
// VERSION           :
// MODIFY  RECORD    :
//****************************************************************************************************************
// Global Variables
//*****************************************************************************************************************
FUNCTION_EXT struct Output_Data Q0_Output;


FUNCTION_EXT struct Switch_Data Tilit_Switch;
FUNCTION_EXT struct Switch_Data Lateral_Switch;
FUNCTION_EXT struct Switch_Data Compressor_Switch ;
FUNCTION_EXT struct Switch_Data SID_Switch ;
FUNCTION_EXT struct Switch_Data Longitud_Switch;
FUNCTION_EXT struct Switch_Data TubeLongitud_Switch;
FUNCTION_EXT struct Switch_Data Scanning_Switch;
FUNCTION_EXT struct Switch_Data Other_Signal;
FUNCTION_EXT struct Control_Data Control_1;
FUNCTION_EXT struct Control_Data Control_2;
FUNCTION_EXT struct Output_Data Output_1;
FUNCTION_EXT struct Output_Data Output_2;
FUNCTION_EXT struct Switch_Data Local_Flag_1;
FUNCTION_EXT struct Switch_Data Local_Flag_2;
FUNCTION_EXT struct Protect_Data Protect_Flag_1;
FUNCTION_EXT struct Soft_Timer Soft_Timer[MAX_SOFT_TIMER];

FUNCTION_EXT INT8U SOFT_TIMER_i;
FUNCTION_EXT INT16S TL_SC_Distance;

FUNCTION_EXT INT16S TL_Pulse;
FUNCTION_EXT INT16S SC_Pulse;

FUNCTION_EXT INT16S TL_Position;
FUNCTION_EXT INT16S SC_Position;

FUNCTION_EXT INT16S TL_SC_Error;
FUNCTION_EXT INT16S Old_TL_SC_Error;

//SMBus 全局变量定义

FUNCTION_EXT INT8S COMMAND;                                                          //在SMBus中断服务程序中用于保存从地址+R/W位
FUNCTION_EXT INT8S WORD;                                                               //保持SMBus根发送的数据字节或刚收到的数据
FUNCTION_EXT INT8S BYTE_NUMBER;                                       //其中用于检查发送的是数据高地址字节、低地址字节或数据字节
FUNCTION_EXT INT8U HIGH_ADD,LOW_ADD;                                                                //EEPROM存储器地址的高低字节
FUNCTION_EXT INT8U SM_BUSY;                                              //在发送或接收开始时被置位,操作结束后由中断服务程序清0

//UART422 全局变量定义
FUNCTION_EXT INT8U PcRx_Number;
FUNCTION_EXT INT8U PcTx_Number;
FUNCTION_EXT INT8U UART422TxBusy;
FUNCTION_EXT INT8U PcRx_BUF[16]; 
FUNCTION_EXT INT8U PcTx_BUF[16];
FUNCTION_EXT INT8U NeedTxPc_BUF[16];
FUNCTION_EXT INT8U TxPc_FLAG;

//运动速度
FUNCTION_EXT INT8U T_LOW_SPEED ; //mm/s
FUNCTION_EXT INT8U T_RLOW_SPEED ; //mm/s
FUNCTION_EXT INT8U T_LOW_FRE ; //HZ
FUNCTION_EXT INT16U T_SPEED_TIME; //10ms
FUNCTION_EXT INT8U T_HIGH_SPEED; //mm/s
FUNCTION_EXT INT8U T_RHIGH_SPEED; //mm/s
FUNCTION_EXT INT8U T_HIGH_FRE; //HZ

FUNCTION_EXT INT8U L_LOW_SPEED; //mm/s
FUNCTION_EXT INT8U L_RLOW_SPEED; //mm/s
FUNCTION_EXT INT8U L_LOW_FRE;//HZ
FUNCTION_EXT INT16U L_SPEED_TIME; //10ms
FUNCTION_EXT INT8U L_HIGH_SPEED; //mm/s
FUNCTION_EXT INT8U L_RHIGH_SPEED; //mm/s
FUNCTION_EXT INT8U L_HIGH_FRE; //HZ

FUNCTION_EXT INT8U A_LOW_SPEED; //mm/s
FUNCTION_EXT INT8U A_RLOW_SPEED; //mm/s
FUNCTION_EXT INT8U A_LOW_FRE; //HZ
FUNCTION_EXT INT16U A_SPEED_TIME; //10ms
FUNCTION_EXT INT8U A_HIGH_SPEED; //mm/s
FUNCTION_EXT INT8U A_RHIGH_SPEED; //mm/s
FUNCTION_EXT INT8U A_HIGH_FRE; //HZ

//运动状态
FUNCTION_EXT INT8U T_STATUS;
FUNCTION_EXT INT8U L_STATUS;
FUNCTION_EXT INT8U La_STATUS;

FUNCTION_EXT INT8U T_ANGLE;

//校正相关定义
FUNCTION_EXT INT8U SpeedConfig_Flag;

FUNCTION_EXT INT8U A_MODIFY_TIME;
FUNCTION_EXT INT8U L_MODIFY_TIME;
FUNCTION_EXT INT8U T_MODIFY_TIME;

FUNCTION_EXT INT8U TestTxMsg;

FUNCTION_EXT INT8U NORMAL_ERROR;

FUNCTION_EXT INT8U TIME;

//通信相全局变量定义
FUNCTION_EXT INT8U *MemRXProcess;

//全局标志定义
//*****************************************************************************************************************
FUNCTION_EXT BOOLEAN FLG_ActiveSendToPc;
FUNCTION_EXT BOOLEAN FLG_ProcessStat; //0 -- 不需要发送;1 -- 需要发送。

//EVENT Define
//*****************************************************************************************************************
FUNCTION_EXT OS_EVENT *Table_TilitingEnSEM;
FUNCTION_EXT OS_EVENT *SIDEnSEM;
FUNCTION_EXT OS_EVENT *Tabletop_LateralEnSEM;
FUNCTION_EXT OS_EVENT *Tube_LongitudEnSEM;
FUNCTION_EXT OS_EVENT *Tabletop_LongitudEnSEM;
FUNCTION_EXT OS_EVENT *ImageLinkageEnSEM;
FUNCTION_EXT OS_EVENT *ZeroPositionEnSEM;

FUNCTION_EXT OS_EVENT *MovementPCRxSEM;
FUNCTION_EXT OS_EVENT *MovementPCTxMUX;

FUNCTION_EXT OS_EVENT *T_AssistantStatMbox;
FUNCTION_EXT OS_EVENT *TL_AssistantStatMbox;
FUNCTION_EXT OS_EVENT *TxStatMbox;

FUNCTION_EXT OS_EVENT *TxMsg;
FUNCTION_EXT void *TxMsgTbl[5];

FUNCTION_EXT OS_EVENT *RxMsg;
FUNCTION_EXT void *RxMsgTbl[5];
 
FUNCTION_EXT OS_EVENT *RxProcessMsg;
FUNCTION_EXT void *RxProcessMsgTbl[5];

FUNCTION_EXT OS_MEM *CommunicateBUF;
FUNCTION_EXT INT8U CommunicatePART[COM_BLOCK_NUM][COM_BLOCK_SIZE];
//----------------------------------------------------------------------------------------------------------------
void Variables_Init(void);
void ZeroPosition_Status(void);
void ZeroPosition_Execute(void);
void TubeLongitud_Status(void);
void TubeLongitud_Execute(void);
void Tabletop_LateralStatus(void);
void Tabletop_LateralExecute(void);
void Table_TilitStatus(void);
void Table_TilitExecute(void);
void SYSCLK_Init (void);
void SID_Execute(void);
void PORT_Init(void);
void Longitud_Status(void);
void Longitud_Execute(void);
void InitTimer0(void);
void Timer2_init(void);									//定时器2初始化
void Timer3_Init(void);
void ImageLinkage_Status(void);
void ImageLinkage_Execute(void);
void Hardware_Init(void);

void Soft_TimerProcess(void);

void MovementAndPCComucate_ISR(void);
void MovementPCFunction_F(void);
void MovementPCFunction_A(void);
void MovementPCFunction_L(void);
void MovementPCFunction_T(void);
void MovementPCFunction_S(void);
void MovementPCcommunicateProcessSUB(void);

//----------------------------------------------------------------------------------------------------------------
//TL16C554相关参数声明开始
//----------------------------------------------------------------------------------------------------------------

//声明信号量
FUNCTION_EXT OS_EVENT *TL16C554_RXSEM;
FUNCTION_EXT OS_EVENT *TL16C554_TXMUX;
FUNCTION_EXT OS_EVENT *FRENIC_RS485TXMUX;
//声明邮箱
FUNCTION_EXT OS_EVENT *TxTL16C554Mbox_A;
FUNCTION_EXT OS_EVENT *FRENIC_RS485TxMbox;
FUNCTION_EXT OS_EVENT *TxTL16C554Mbox_C;
FUNCTION_EXT OS_EVENT *TxTL16C554Mbox_D;
//声明队列
FUNCTION_EXT OS_EVENT *FRENIC_RS485TXMsg;
FUNCTION_EXT void *FRENIC_RS485TXMsgTbl[5];

FUNCTION_EXT OS_EVENT *RxTL16C554Msg;
FUNCTION_EXT void *RxTL16C554MsgTbl[5];

FUNCTION_EXT OS_EVENT *TL16C554ProcessMsg;
FUNCTION_EXT void *TL16C554ProcessMsgTbl[5];

FUNCTION_EXT OS_EVENT *TL16C554TestMsg;
FUNCTION_EXT void *TL16C554TestMsgTbl[5];

FUNCTION_EXT INT8U TL16C554RX_Number;
FUNCTION_EXT INT8U TL16C554TX_Number;

FUNCTION_EXT INT8U TL16C554RX_i;						//接收中断次数
FUNCTION_EXT INT8U TL16C554TX_i;						//接收中断次数
//系统运动状态标志
FUNCTION_EXT INT16U TableMovement_SY;				//床体运动状态标志
FUNCTION_EXT INT16U TLMovement_SY;						//立柱运动状态标志
FUNCTION_EXT INT16U SCMovement_SY;						//滑架运动状态标志
FUNCTION_EXT INT16U SIDMovement_SY;					//变焦运动状态标志

FUNCTION_EXT BOOLEAN RS485_CanSend;					//RS485发送允许标志位
FUNCTION_EXT BOOLEAN RS485_CanRevv;         //RS485接收允许标志位
FUNCTION_EXT BOOLEAN SuudRevvRS485;					//RS485发送错误计数器
FUNCTION_EXT INT8U ErrRS485Number;					//RS485发送错误计数器
FUNCTION_EXT BOOLEAN RS422_CanSend;         //RS422发送允许标志位
FUNCTION_EXT BOOLEAN RS422_CanRevv;         //RS422接收允许标志位
FUNCTION_EXT BOOLEAN RS232_CanSend;         //RS232发送允许标志位
FUNCTION_EXT BOOLEAN RS232_CanRevv;         //RS232接收允许标志位

FUNCTION_EXT BOOLEAN RS485_SendNew;         //RS422接收允许标志位

FUNCTION_EXT INT8U TL16C554RS485Rx_BUF[16];
FUNCTION_EXT INT8U TL16C554RS232Rx_BUF[16];
FUNCTION_EXT INT8U TL16C554RS485Tx_BUF[16];
FUNCTION_EXT INT8U TL16C554RS232Tx_BUF[16];

FUNCTION_EXT INT8U i;									//定义循环控制字节

FUNCTION_EXT INT8U RevvChar_A;
FUNCTION_EXT INT8U RevvChar_B;
FUNCTION_EXT INT8U RevvChar_C;
FUNCTION_EXT INT8U RevvChar_D;

FUNCTION_EXT INT8U SendChar;
FUNCTION_EXT INT8U SendTL16C554_BUF[16];					//发送数组寄存器 SendSerialChar
FUNCTION_EXT INT8U SendSerialChar[16];					//发送数组寄存器 SendSerialChar
FUNCTION_EXT INT8U RevvSerialChar_A[8];					//A口中断接收寄存器
FUNCTION_EXT INT8U RevvCharFinish_A[35];				//A口中断接收寄存器
FUNCTION_EXT INT8U RevvCharNumber_A;					//A口中断接收寄存器
FUNCTION_EXT INT8U RevvSerialChar_B[8];					//B口中断接收寄存器
FUNCTION_EXT INT8U RevvCharFinish_B[17];				//B口中断接收寄存器
FUNCTION_EXT INT8U RevvCharNumber_B;					//A口中断接收寄存器
FUNCTION_EXT INT8U RevvSerialChar_C[8];					//C口中断接收寄存器
FUNCTION_EXT INT8U RevvCharFinish_C[16];				//C口中断接收寄存器
FUNCTION_EXT INT8U RevvCharNumber_C;					//A口中断接收寄存器
FUNCTION_EXT INT8U RevvSerialChar_D[8];					//D口中断接收寄存器
FUNCTION_EXT INT8U RevvCharFinish_D[16];				//D口中断接收寄存器
FUNCTION_EXT INT8U RevvCharNumber_D;					//A口中断接收寄存器

FUNCTION_EXT INT8U TL_16C554_INIT_SY;					//16C554中断向量寄存器

FUNCTION_EXT INT8U TL16C554_A_LSR_SY;					//16C554 A口线路状态寄存器
FUNCTION_EXT INT8U TL16C554_B_LSR_SY;					//16C554 B口线路状态寄存器
FUNCTION_EXT INT8U TL16C554_C_LSR_SY;					//16C554 C口线路状态寄存器
FUNCTION_EXT INT8U TL16C554_D_LSR_SY;					//16C554 D口线路状态寄存器

FUNCTION_EXT INT8U TL16C554_REG;						//16C554控制寄存器
FUNCTION_EXT INT8U TL_16C554_INIT_A;					//16C554中断类型寄存器
FUNCTION_EXT INT8U TL_16C554_INIT_B;					//16C554中断类型寄存器
FUNCTION_EXT INT8U TL_16C554_INIT_C;					//16C554中断类型寄存器
FUNCTION_EXT INT8U TL_16C554_INIT_D;					//16C554中断类型寄存器

//子函数声明

void TL16554_init(void);								//TL16C554初始化子程序
void Timer2_init(void);									//定时器2初始化
void T2_INTR_ISR(void);									//定时器2中断子程序
void EX1_INIT_ISR(void);								//外部中断1子程序,作为TL16C554中断入口
void INTER_Init(void);									//中断初始化
void DelayMS(INT16U Timer_Number);						//ms延时子程序
void DelayUS(INT16U Timer_Number);						//10us延时子程序 
void RS485_SendStart(void);									//RS485发送开始函数
void RS485_SendEend(void);									//RS485发送结束程序
//void SerialCreateFrame(INT8U Address,INT8U State,INT8U Command,INT8U Command_No,INT16U Value);
//void TL16C554_SendFrame_A(void);
//void TL16C554_SendFrame_B(void);
//void TL16C554_SendFrame_C(void);
//void TL16C554_SendFrame_D(void);
//----------------------------------------------------------------------------------------------------------------
//TL16C554相关参数声明结束
//----------------------------------------------------------------------------------------------------------------

⌨️ 快捷键说明

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