123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- /*
- *********************************************************************************************************
- * xmk guide
- * huali xmk guide process
- *
- * (c) Copyright 2016-2020, hualijidian.com
- * All Rights Reserved
- *
- * File : port.h
- * By : eric
- * Date : 2018年7月10日
- * Version : V0.0.1
- *********************************************************************************************************
- */
- #ifndef __HARDWARE_H_
- #define __HARDWARE_H_
- #include "string.h"
- #include "drv_flash.h"
- #include "iocfg.h"
- #include "env.h"
- /*
- *********************************************************************************************************
- * 日志
- *********************************************************************************************************
- */
- /*
- *********************************************************************************************************
- * 硬件
- *********************************************************************************************************
- */
- // 判断举升是否在顶端
- #define LIFT1_IS_IN_TOP !I.Lft1InTop //顶升的限位
- // 判断举升是否在底部
- #define LIFT1_IS_IN_BOTTOM !I.Lft1InBottom
- #define DIR_LIFT2_IS_IN_FB !I.Lft2InTop //实际使用是常闭的,与逻辑相反
- #define DIR_LIFT2_IS_IN_LR !I.Lft2InBottom
- #define LIFT1_UP LIFT_V1 = 0;LIFT_V3 = 0;LIFT_V5 = 0;LIFT_V2 = 1;LIFT_V4 = 1;LIFT_V6 = 1;
- #define LIFT1_DOWN LIFT_V1 = 0;LIFT_V5 = 0;LIFT_V6 = 0;LIFT_V2 = 1;LIFT_V3 = 1;LIFT_V4 = 1;
- #define LIFT1_STOP LIFT_V1 = 1;LIFT_V2 = 1;LIFT_V3 = 1;LIFT_V4 = 1;LIFT_V5 = 1;LIFT_V6 = 1;
- #define DIR_LIFT2_UP LIFT_V4 = 0;LIFT_V2 = 0;LIFT_V3 = 0;LIFT_V1 = 1;LIFT_V5 = 1;LIFT_V6 = 1;
- #define DIR_LIFT2_DOWN LIFT_V4 = 0;LIFT_V6 = 0;LIFT_V2 = 0;LIFT_V1 = 1;LIFT_V3 = 1;LIFT_V5 = 1;
- #define DIR_LIFT2_STOP LIFT_V1 = 1;LIFT_V2 = 1;LIFT_V3 = 1;LIFT_V4 = 1;LIFT_V5 = 1;LIFT_V6 = 1;
- #define DEC_PRESS_1 LIFT_V7 = 0;
- #define DEC_PRESS_2 LIFT_V8 = 0;
- #define DEC_PRESS_STOP LIFT_V7 = 1;LIFT_V8 = 1
- #define BTY_AUTO_ON LIFT_V10 = 0
- #define BTY_AUTO_OFF LIFT_V10 = 1
- #define CARGO_IS_IN_FORWARD_MID !I.Npn8
- #define CARGO_IS_IN_BACKWARD_MID !I.Npn7
- #define CARGO_IS_IN_FORWARD_STOP !I.Npn10
- #define CARGO_IS_IN_BACKWARD_STOP !I.Npn9
- #define OBS_FORWARD_EN OBS1_OUT1 = 0;OBS1_OUT2 = 1; OBS2_OUT1 = 1;OBS2_OUT2 = 1
- #define OBS_LEFT_EN OBS1_OUT1 = 1;OBS1_OUT2 = 0; OBS2_OUT1 = 1;OBS2_OUT2 = 1
- #define OBS_BACKWARD_EN OBS1_OUT1 = 1;OBS1_OUT2 = 1; OBS2_OUT1 = 0;OBS2_OUT2 = 1
- #define OBS_RIGHT_EN OBS1_OUT1 = 1;OBS1_OUT2 = 1; OBS2_OUT1 = 1;OBS2_OUT2 = 0
- #define OBS_OFF OBS1_OUT1 = 1;OBS1_OUT2 = 1; OBS2_OUT1 = 1;OBS2_OUT2 = 1
- #define OBS_ON OBS1_OUT1 = 0;OBS1_OUT2 = 0; OBS2_OUT1 = 0;OBS2_OUT2 = 0
- #define LED0_On LED0 = 0
- #define LED0_Off LED0 = 1
- #define LED0_Toggle LED0 = !LED0
- #define Light1_RedOn LED1_V1 = 0
- #define Light1_RedOff LED1_V1 = 1
- #define Light1_RedToggle LED1_V1 = !LED1_V1
- #define Light1_YellowOn LED1_V2 = 0
- #define Light1_YellowOff LED1_V2 = 1
- #define Light1_YellowToggle LED1_V2 = !LED1_V2
- #define Light1_GreenOn LED1_V3 =0
- #define Light1_GreenOff LED1_V3 =1
- #define Light1_GreenToggle LED1_V3 = !LED1_V3
- #define Light2_RedOn LED2_V1 = 0
- #define Light2_RedOff LED2_V1 = 1
- #define Light2_RedToggle LED2_V1 = !LED2_V1
- #define Light2_YellowOn LED2_V2 = 0
- #define Light2_YellowOff LED2_V2 = 1
- #define Light2_YellowToggle LED2_V2 = !LED2_V2
- #define Light2_GreenOn LED2_V3 =0
- #define Light2_GreenOff LED2_V3 =1
- #define Light2_GreenToggle LED2_V3 = !LED2_V3
- #define RS485_ENABLE RS485_TX_EN = 1
- #define RS485_DISABLE RS485_TX_EN = 0
- /**
- * @brief Set motor speed
- * @param speed 0~100 percent of speed
- * @retval None
- * @note �ٶȰٷֱȻ����PWM�ı���,���3000�������������ת�� speed *
- * HI_MOTOR_PWM_TIME = 80% PWM ���Ҽ���
- */
- #define LIFT1_Speed(speed) (TIM4->CCR2 = (speed))
- #endif /* __HARDWARE_H_ */
|