#ifndef _USERGPIO_CONFIG_H_ #define _USERGPIO_CONFIG_H_ #include "ti_msp_dl_config.h" //GPIO cofig #include "syspar.h" #define Get_BRAKE_DETECT_PORT() DL_GPIO_readPins(INPUT_BREAK_PORT, INPUT_BREAK_PIN)// (GPIO_PINS_14 & GPIOC->idt) //鍒硅溅娈靛伓 //#define CapValutBike_CCRx() DL_Timer_getTimerCount(TIMG6)// (TMR16->c1dt) //bikespeed cnt //#define CapValutCadence_CCRx() DL_Timer_getTimerCount(TIMG7)//(TMR17->c1dt) //bikespeed cnt #define Hall_HA_PORT() DL_GPIO_readPins(GPIOA, DL_GPIO_PIN_8)// (GPIOB->idt &GPIO_PINS_0) //HA #define Hall_HB_PORT() DL_GPIO_readPins(GPIOB, DL_GPIO_PIN_2)//(GPIOB->idt & GPIO_PINS_5)//HB #define Hall_HC_PORT() DL_GPIO_readPins(GPIOB, DL_GPIO_PIN_3)//(GPIOB->idt &GPIO_PINS_4)//HC //#define TIM_BikeSped_GetITStatus() DL_TimerG_getPendingInterrupt(SPEED_INST) & DL_TIMERG_IIDX_OVERFLOW//tmr_interrupt_flag_get(TMR16,TMR_OVF_FLAG) #define Get_POWER_SWSTATE_PORT() 1// DL_GPIO_readPins(INPUT_ACC_KEY_PORT, INPUT_ACC_KEY_PIN)// (GPIO_PINS_7 & GPIOF->idt) //寮�鏈烘寜閿� #define Set_POWER_LOCK_PORT() DL_GPIO_setPins(OUTPUT_PORT, OUTPUT_POWER_EN_PIN)// ( GPIOB->scr = GPIO_PINS_3 ) // 电源自锁 #define Reset_POWER_LOCK_PORT() DL_GPIO_clearPins(OUTPUT_PORT, OUTPUT_POWER_EN_PIN)// (GPIOB->clr = GPIO_PINS_3 ) // #define Get_CAD_DIR_PORT() DL_GPIO_readPins(INPUT_Cadence_Dir_PORT, INPUT_Cadence_Dir_PIN)// (GPIOB->idt &GPIO_PINS_9) // CAD #define Get_CAD_FRE_PORT() DL_GPIO_readPins(INPUT_Cadence_Speed_PORT, INPUT_Cadence_Speed_PIN)// (GPIOB->idt &GPIO_PINS_9) // CAD #define Get_Speed_PORT() DL_GPIO_readPins(INPUT_Speed_In_PORT, INPUT_Speed_In_PIN) /* 前灯IO on/off */ #define IO_FORWARDLED_ON() 1 // DL_GPIO_setPins(LIGHT_DETECT_FRONT_PORT, LIGHT_DETECT_FRONT_PIN)// ( GPIOC->scr = GPIO_PINS_15 ) //PC15 璐熸帶 #define IO_FORWARDLED_OFF() 1// DL_GPIO_clearPins(LIGHT_DETECT_FRONT_PORT, LIGHT_DETECT_FRONT_PIN)// (GPIOC->clr = GPIO_PINS_15 ) #define IO_CHECKIO_H() DL_GPIO_setPins(CHECKIO_PORT, CHECKIO_PIN_0_PIN) #define IO_CHECKIO_L() DL_GPIO_clearPins(CHECKIO_PORT, CHECKIO_PIN_0_PIN) #define IO_FTESTLED_ON() DL_GPIO_setPins(OUTPUT_PORT, OUTPUT_LED_F_PIN) #define IO_FTESTLED_OFF() DL_GPIO_clearPins(OUTPUT_PORT, OUTPUT_LED_F_PIN) //DC1灯 #if (SIMULATION == 0) #define IO_LED1_6or12V_EN_H() DL_GPIO_setPins(GPIO_F_LED_PORT, GPIO_F_LED_PIN_LED_F_EN_PIN) #define IO_LED1_6or12V_EN_L() DL_GPIO_clearPins(GPIO_F_LED_PORT, GPIO_F_LED_PIN_LED_F_EN_PIN) #define IO_LED1_6or12V_Choise_H() DL_GPIO_setPins(GPIO_F_LED_PORT, GPIO_F_LED_PIN_LED_F_SEL_PIN) #define IO_LED1_6or12V_Choise_L() DL_GPIO_clearPins(GPIO_F_LED_PORT, GPIO_F_LED_PIN_LED_F_SEL_PIN) #else #define IO_LED1_6or12V_EN_H() 1 #define IO_LED1_6or12V_EN_L() 1 #define IO_LED1_6or12V_Choise_H() 1 #define IO_LED1_6or12V_Choise_L() 1 #endif //DC2灯 #define IO_LED2_6or12V_EN_H() DL_GPIO_setPins(GPIO_B_LED_PORT, GPIO_B_LED_PIN_LED_B_EN_PIN)// #define IO_LED2_6or12V_EN_L() DL_GPIO_clearPins(GPIO_B_LED_PORT, GPIO_B_LED_PIN_LED_B_EN_PIN)// #define IO_LED2_6or12V_Choise_H() DL_GPIO_setPins(GPIO_B_LED_PORT, GPIO_B_LED_PIN_LED_B_SEL_PIN)// #define IO_LED2_6or12V_Choise_L() DL_GPIO_clearPins(GPIO_B_LED_PORT, GPIO_B_LED_PIN_LED_B_SEL_PIN)// #define IO_FORWARDLEDCHECK_PORT() 1// DL_GPIO_readPins(LIGHT_DETECT_FRONT_PORT, LIGHT_DETECT_FRONT_PIN)// (GPIO_PINS_0 & GPIOF->idt) //PF0 杩囨祦妫�娴� #define Get_F_LEDCHECK_PORT() DL_GPIO_readPins(GPIO_COMP_FLEDCHECK_IN0P_PORT, GPIO_COMP_FLEDCHECK_IN0P_PIN) #define Get_B_LEDCHECK_PORT() DL_GPIO_readPins(LIGHT_DETECT_BACK_PORT, LIGHT_DETECT_BACK_PIN) /* 尾灯IO on/off */ #define IO_BACKLED_ON() 1// DL_GPIO_setPins(LIGHT_DETECT_PORT, LIGHT_DETECT_B_LIGHT_OFF_PIN)// (GPIOC->scr = GPIO_PINS_13 ) //PC13 #define IO_BACKLED_OFF() 1// DL_GPIO_clearPins(LIGHT_DETECT_PORT, LIGHT_DETECT_B_LIGHT_OFF_PIN)// (GPIOC->clr = GPIO_PINS_13 ) #define IO_BACKLEDCHECK_PORT() 1// DL_GPIO_readPins(LIGHT_DETECT_PORT, LIGHT_DETECT_B_LIGHT_OFF_PIN)// (GPIO_PINS_1 & GPIOF->idt)//PF1 #define VDCREG() DL_ADC12_getMemResult(ADC12_1_INST, DL_ADC12_MEM_IDX_1)// #define PCBTEMPREG() DL_ADC12_getMemResult(ADC12_1_INST, DL_ADC12_MEM_IDX_2)// #define MOTORTEMPREG() DL_ADC12_getMemResult(ADC12_1_INST, DL_ADC12_MEM_IDX_3)// #define IBUSAVGREG() DL_ADC12_getMemResult(ADC12_1_INST, DL_ADC12_MEM_IDX_4)// #define THROTTLEVOLREG() DL_ADC12_getMemResult(ADC12_0_INST, DL_ADC12_MEM_IDX_1)// #define POWERKEYVOLREG() DL_ADC12_getMemResult(ADC12_0_INST, DL_ADC12_MEM_IDX_3)// #define COMPF_LEDVOLREG() DL_ADC12_getMemResult(ADC12_0_INST, DL_ADC12_MEM_IDX_4)// #define TORQUEVOLREG1() DL_ADC12_getMemResult(ADC12_0_INST, DL_ADC12_MEM_IDX_4)// #define TORQUEVOLREG2() DL_ADC12_getMemResult(ADC12_1_INST, DL_ADC12_MEM_IDX_5)// #define TORQUEVOLREG3() DL_ADC12_getMemResult(ADC12_0_INST, DL_ADC12_MEM_IDX_2)// #if( (IPM_POWER_SEL == IPM_POWER_250W_6G)||(IPM_POWER_SEL ==IPM_POWER_350W_6G)) #define RDSON_U_REG() DL_ADC12_getMemResult(ADC12_0_INST, DL_ADC12_MEM_IDX_0) #define RDSON_V_REG() DL_ADC12_getMemResult(ADC12_1_INST, DL_ADC12_MEM_IDX_0) #else #define RDSON_V_REG() DL_ADC12_getMemResult(ADC12_0_INST, DL_ADC12_MEM_IDX_0) #define RDSON_W_REG() DL_ADC12_getMemResult(ADC12_1_INST, DL_ADC12_MEM_IDX_0) #endif //驱动pwm #define TIMER_CC_A_INDEX(x) DL_TimerA_setCaptureCompareValue(MOTOR_PWM_INST, x, DL_TIMER_CC_0_INDEX) #define TIMER_CC_B_INDEX(x) DL_TimerA_setCaptureCompareValue(MOTOR_PWM_INST, x, DL_TIMER_CC_2_INDEX) #define TIMER_CC_C_INDEX(x) DL_TimerA_setCaptureCompareValue(MOTOR_PWM_INST, x, DL_TIMER_CC_1_INDEX) #endif