104 lines
2.5 KiB
C
104 lines
2.5 KiB
C
|
#include "l6235d.h"
|
|||
|
|
|||
|
//l6235d<35><64>ʼ<EFBFBD><CABC>
|
|||
|
#ifdef L6235D
|
|||
|
|
|||
|
void l6235d_init()
|
|||
|
{
|
|||
|
//ˮƽ<CBAE><C6BD><EFBFBD><EFBFBD>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<31><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
gpio_mode_set(GPIOD, GPIO_MODE_OUTPUT, GPIO_PUPD_PULLDOWN, GPIO_PIN_10);//PD10<31><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
gpio_output_options_set(GPIOD, GPIO_OTYPE_PP, GPIO_OSPEED_25MHZ, GPIO_PIN_10| GPIO_PIN_11| GPIO_PIN_12);
|
|||
|
//ˮƽhall<6C><6C>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;
|
|||
|
|
|||
|
//<2F><>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>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<41><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
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<43><39><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
gpio_output_options_set(GPIOC, GPIO_OTYPE_PP, GPIO_OSPEED_25MHZ, GPIO_PIN_9);
|
|||
|
|
|||
|
//<2F><>ֱhall<6C><6C>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;
|
|||
|
}
|
|||
|
//<2F>趨ת<E8B6A8><D7AA>
|
|||
|
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;
|
|||
|
}
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD>
|
|||
|
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
|