/* * @Author : stark1898y 1658608470@qq.com * @Date : 2024-08-29 13:44:16 * @LastEditors : stark1898y 1658608470@qq.com * @LastEditTime : 2024-08-29 14:06:06 * @FilePath : \JT-DT-YD4N02A_RTT-Nano\bsp\inc\bsp_emv.h * @Description : * * Copyright (c) 2024 by yzy, All Rights Reserved. */ #ifndef __BSP_EMV__ #define __BSP_EMV__ #include "board.h" #include "drv_gpio.h" /*机械手引脚定义*/ #define MACHINE_HAND_SLEEP_PIN GET_PIN(A, 5) // 高电平进入正常工作状态 #define MACHINE_HAND_COIL_A_PIN GET_PIN(A, 6) #define MACHINE_HAND_COIL_B_PIN GET_PIN(A, 7) /*控制逻辑 A:1 B 0 SLEEP 1 正向 A:0 B 1 SLEEP 1 反向 A:1 B 1 SLEEP 1 停止 */ /*正向*/ #define EMV_FORWARD_ON(x) do\ {\ rt_pin_write(MACHINE_HAND_SLEEP_PIN, PIN_HIGH);\ rt_pin_write(MACHINE_HAND_COIL_A_PIN, PIN_HIGH);\ rt_pin_write(MACHINE_HAND_COIL_B_PIN, PIN_LOW);\ rt_thread_mdelay(x);\ rt_pin_write(MACHINE_HAND_SLEEP_PIN, PIN_LOW);\ rt_pin_write(MACHINE_HAND_COIL_A_PIN, PIN_LOW);\ }\ while (0); /*反向*/ #define EMV_BACKWARD_ON(x) do\ {\ rt_pin_write(MACHINE_HAND_SLEEP_PIN, PIN_HIGH);\ rt_pin_write(MACHINE_HAND_COIL_A_PIN, PIN_LOW);\ rt_pin_write(MACHINE_HAND_COIL_B_PIN, PIN_HIGH);\ rt_thread_mdelay(x);\ rt_pin_write(MACHINE_HAND_SLEEP_PIN, PIN_LOW);\ rt_pin_write(MACHINE_HAND_COIL_B_PIN, PIN_LOW);\ }\ while (0); // #define EMV_PIN GET_PIN(B, 0) // // 保持不动 // #define EMV_ON rt_pin_write(EMV_PIN, PIN_LOW) // // 高电平 关闭电磁阀 // #define EMV_OFF rt_pin_write(EMV_PIN, PIN_HIGH) // extern volatile rt_uint16_t emv_state_flag; // int BSP_Set_Emv_Status(rt_bool_t status); int BSP_EMV_Init(void); #endif // !__BSP_EMV__