📄 motor.h
字号:
//TFT motor
#define PD_MOTORP PC_DDR3 //load -
#define PCR1_MOTORP PC_CR13
#define PCR2_MOTORP PC_CR23
#define PIN_MOTORP PC_ODR3
#define PD_MOTORN PC_DDR4 //load+
#define PCR1_MOTORN PC_CR14
#define PCR2_MOTORN PC_CR24
#define PIN_MOTORN PC_ODR4
//Tray motor
#define PD_TRAYN PE_DDR4 //load -
#define PCR1_TRAYN PE_CR14
#define PCR2_TRAYN PE_CR24
#define PIN_TRAYN PE_ODR4
#define PD_TRAYP PE_DDR3 //load +
#define PCR1_TRAYP PE_CR13
#define PCR2_TRAYP PE_CR23
#define PIN_TRAYP PE_ODR3
#define PD_CHECKP PC_DDR7
#define PCR1_CHECKP PC_CR17
#define PCR2_CHECKP PC_CR27
#define PinIN_CHECKP PC_IDR7
#define PD_CHECKN PE_DDR2
#define PCR1_CHECKN PE_CR12
#define PCR2_CHECKN PE_CR22
#define PinIN_CHECKN PE_IDR2
#define PD_TRAYIN PG_DDR6
#define PCR1_TRAYIN PG_CR16
#define PCR2_TRAYIN PG_CR26
#define PINin_TRAYIN PG_IDR6
#define PD_TRAYOUT PG_DDR7
#define PCR1_TRAYOUT PG_CR17
#define PCR2_TRAYOUT PG_CR27
#define PINin_TRAYOUT PG_IDR7
#define PD_LOADSW PG_DDR5
#define PCR1_LOADSW PG_CR15
#define PCR2_LOADSW PG_CR25
#define PINin_LOADSW PG_IDR5
/************************************************************************
Motor position define 4 kinds and they are all define as below
90 d --------------INIT90
60 d -------------- STEP60
30 d -------------- STEP30
0 d ---------------STEP0
************************************************************************/
//Motor action
#define MOTOR_OPEN 0
#define MOTOR_CLOSE 1
#define MOTOR_STOP 2
#define TRAY_OPEN 0
#define TRAY_CLOSE 1
#define TRAY_STOP 2
//TFT work mode
#define TFTMOTOR_STATUS_INIT90_REQ 0
#define TFTMOTOR_STATUS_INIT90 1
#define TFTMOTOR_STATUS_REQ_INIT90_TO_STEP60 2
#define TFTMOTOR_STATUS_REQ_STEP60_TO_INIT90 3
#define TFTMOTOR_STATUS_REQ_INIT90_TO_STEP30 4
#define TFTMOTOR_STATUS_REQ_STEP30_TO_INIT90 5
#define TFTMOTOR_STATUS_REQ_INIT90_TO_STEP0 6
#define TFTMOTOR_STATUS_REQ_STEP0_TO_INIT90 7
#define TFTMOTOR_STATUS_STEP60 8 //ALL
#define TFTMOTOR_STATUS_REQ_STEP60_TO_STEP30 9
#define TFTMOTOR_STATUS_REQ_STEP30_TO_STEP60 10
#define TFTMOTOR_STATUS_REQ_STEP60_TO_STEP0 11
#define TFTMOTOR_STATUS_REQ_STEP0_TO_STEP60 12
#define TFTMOTOR_STATUS_STEP30 13
#define TFTMOTOR_STATUS_REQ_STEP30_TO_STEP0 14
#define TFTMOTOR_STATUS_REQ_STEP0_TO_STEP30 15
#define TFTMOTOR_STATUS_STEP0 16 // 1/2 status
#define OBJECT_TFTMOTOR_TO_STATUS_STEP0 1
#define OBJECT_TFTMOTOR_TO_STATUS_STEP30 2
#define OBJECT_TFTMOTOR_TO_STATUS_STEP60 3
#define OBJECT_TFTMOTOR_TO_STATUS_INIT90 4
#define TFTMOTOR_RUNLENGTH_INIT90_AND_STEP60_TIMEOUT 30
#define TFTMOTOR_RUNLENGTH_STEP60_AND_INIT90_TIMEOUT 30
#define TFTMOTOR_RUNLENGTH_INIT90_AND_STEP30_TIMEOUT 40
#define TFTMOTOR_RUNLENGTH_STEP30_AND_INIT90_TIMEOUT 40
#define TFTMOTOR_RUNLENGTH_INIT90_AND_STEP0_TIMEOUT 45
#define TFTMOTOR_RUNLENGTH_STEP0_AND_INIT90_TIMEOUT 40
#define TFTMOTOR_RUNLENGTH_STEP60_AND_STEP30_TIMEOUT 10
#define TFTMOTOR_RUNLENGTH_STEP30_AND_STEP60_TIMEOUT 2
#define TFTMOTOR_RUNLENGTH_STEP60_AND_STEP0_TIMEOUT 25
#define TFTMOTOR_RUNLENGTH_STEP0_AND_STEP60_TIMEOUT 25
#define TFTMOTOR_RUNLENGTH_STEP30_AND_STEP0_TIMEOUT 8
#define TFTMOTOR_RUNLENGTH_STEP0_AND_STEP30_TIMEOUT 2
ext unsigned char ucTFTMotorDriverStatus;
ext unsigned char ucMotorCurPos; //Motor Pos current;
ext unsigned char ucTFTMotorDriverTime;
ext unsigned char TrayModeState;
//Tray motor mode
#define TRAYMOTOR_IDLE 0
#define TRAYMOTOR_OPEN_REQ 1
#define TRAYMOTOR_OPENING 2
#define TRAYMOTOR_OPENED 3
#define TRAYMOTOR_CLOSE_REQ 4
#define TRAYMOTOR_CLOSING 5
#define TRAYMOTOR_CLOSED 6
//main function.
extern void Motor_Init(void);
extern void MotorMain(void);
extern void TFT_Motor_Driver(unsigned char in);
extern void TFTMotorDriverTimer100ms(void);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -