📄 movementdefine.h.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 + -