#include "l6235d.h" //l6235d初始化 #ifdef L6235D void l6235d_init() { //水平电机PD11-EN,PD12-F/R,PD10-BRK gpio_mode_set(GPIOD, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_12); gpio_mode_set(GPIOD, GPIO_MODE_OUTPUT, GPIO_PUPD_PULLUP, GPIO_PIN_11);//PD11上拉电阻 gpio_mode_set(GPIOD, GPIO_MODE_OUTPUT, GPIO_PUPD_PULLDOWN, GPIO_PIN_10);//PD10下拉电阻 gpio_output_options_set(GPIOD, GPIO_OTYPE_PP, GPIO_OSPEED_25MHZ, GPIO_PIN_10| GPIO_PIN_11| GPIO_PIN_12); //水平hall,PD13-H1,PD14-H2,PD15-H3 gpio_mode_set(GPIOD, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO_PIN_13| GPIO_PIN_14| GPIO_PIN_15); L6235D_HORI_BRAKE_STOP; L6235D_HORI_EN_DISABLE; //垂直电机PA8-EN,PA11-F/R,PC9-BRK gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_11); gpio_mode_set(GPIOA, GPIO_MODE_OUTPUT, GPIO_PUPD_PULLUP, GPIO_PIN_8);//PA8上拉电阻 gpio_output_options_set(GPIOA, GPIO_OTYPE_PP, GPIO_OSPEED_25MHZ, GPIO_PIN_8| GPIO_PIN_11); gpio_mode_set(GPIOC, GPIO_MODE_OUTPUT, GPIO_PUPD_PULLDOWN, GPIO_PIN_9);//PC9下拉电阻 gpio_output_options_set(GPIOC, GPIO_OTYPE_PP, GPIO_OSPEED_25MHZ, GPIO_PIN_9); //垂直hall,PC6-H1,PC7-H2,PC8-H3 gpio_mode_set(GPIOC, GPIO_MODE_INPUT, GPIO_PUPD_NONE, GPIO_PIN_6| GPIO_PIN_7| GPIO_PIN_8); L6235D_VERT_BRAKE_STOP; L6235D_VERT_EN_DISABLE; } //设定转向 char l6235d_hori_set_direction(char dir) { if(dir == L6235D_MOTOR_DIR_FWD) { L6235D_HORI_FWD; return L6235D_MOTOR_DIR_FWD; } if(dir == L6235D_MOTOR_DIR_REV) { L6235D_HORI_REV; return L6235D_MOTOR_DIR_REV; } return -1; } char l6235d_vert_set_direction(char dir) { if(dir == L6235D_MOTOR_DIR_FWD) { L6235D_VERT_FWD; return L6235D_MOTOR_DIR_FWD; } if(dir == L6235D_MOTOR_DIR_REV) { L6235D_VERT_REV; return L6235D_MOTOR_DIR_REV; } return -1; } //电机启停控制 char l6235d_hori_start_stop(char flag) { if(flag == L6235D_MOTOR_START) { L6235D_HORI_EN_ENABLE; OSTimeDlyHMSM(0u, 0u, 0u, 1u); L6235D_HORI_BRAKE_START; return L6235D_MOTOR_START; } if(flag == L6235D_MOTOR_STOP) { L6235D_HORI_BRAKE_STOP; OSTimeDlyHMSM(0u, 0u, 0u, 1u); L6235D_HORI_EN_DISABLE; return L6235D_MOTOR_STOP; } return -1; } char l6235d_vert_start_stop(char flag) { if(flag == L6235D_MOTOR_START) { L6235D_VERT_EN_ENABLE; OSTimeDlyHMSM(0u, 0u, 0u, 1u); L6235D_VERT_BRAKE_START; return L6235D_MOTOR_START; } if(flag == L6235D_MOTOR_STOP) { L6235D_VERT_BRAKE_STOP; OSTimeDlyHMSM(0u, 0u, 0u, 1u); L6235D_VERT_EN_DISABLE; return L6235D_MOTOR_STOP; } return -1; } #endif