#include "inout.h" #include "funcs.h" //-------------ST 调试灯------------------------- OUTPUT_FUNCS(Led, LED); //----------------------------------------- OUTPUT_FUNCS(Spi1Nss, SPI1_NSS); OUTPUT_FUNCS(Spi2Nss, SPI2_NSS); OUTPUT_FUNCS(Spi3Nss, SPI3_NSS); //----------------------------------------- OUTPUT_FUNCS(WNetRst, W5500_RST); OUTPUT_FUNCS(En485Out, USART6_EN); //----------------------------------------- #define GETOUTVAL(num) \ u8 Output##num##Sta(void)\ {\ return GetOutputVal(num);\ } GETOUTVAL(1); GETOUTVAL(2); GETOUTVAL(3); GETOUTVAL(4); GETOUTVAL(5); GETOUTVAL(6); GETOUTVAL(7); GETOUTVAL(8); #define GETECDSIGNALVAL(Name, LABEL) \ u8 Get##Name##Status(void) \ {\ return (((GetEcdStatus() & LABEL##_STA) != 0) ? Bit_SET : Bit_RESET);\ } GETECDSIGNALVAL(AP1, AP1); GETECDSIGNALVAL(BP1, BP1); GETECDSIGNALVAL(ZP1, ZP1); GETECDSIGNALVAL(AP2, AP2); GETECDSIGNALVAL(BP2, BP2); GETECDSIGNALVAL(ZP2, ZP2); #define GETINPUTVAL(Name, LABEL) \ u8 Get##Name##Status(void) \ {\ return (((GetInputStatus() & LABEL##_STA) != 0) ? Bit_SET : Bit_RESET);\ } GETINPUTVAL(Input1, INPUT1); GETINPUTVAL(Input2, INPUT2); GETINPUTVAL(Input3, INPUT3); GETINPUTVAL(Input4, INPUT4); GETINPUTVAL(Input5, INPUT5); GETINPUTVAL(Input6, INPUT6); GETINPUTVAL(Input7, INPUT7); GETINPUTVAL(Input8, INPUT8); GETINPUTVAL(Input9, INPUT9); GETINPUTVAL(Input10, INPUT10); GETINPUTVAL(Input11, INPUT11); GETINPUTVAL(Input12, INPUT12); GETINPUTVAL(Input13, INPUT13); GETINPUTVAL(Input14, INPUT14); GETINPUTVAL(Input15, INPUT15); GETINPUTVAL(Input16, INPUT16); //-------------电机1------------------------- void SetMoto1SignOn(void) // 电机1方向 { SetAxisConfig(AXIS_ID1, MOUT_SIGN_CCW); } void SetMoto1SignOff(void) { SetAxisConfig(AXIS_ID1, MOUT_SIGN_CW); } void SetMoto1PulseOn(void) // 电机1脉冲 { SetAxisConfig(AXIS_ID1, MOUT_PLUS_ON); } void SetMoto1PulseOff(void) { SetAxisConfig(AXIS_ID1, MOUT_PLUS_OFF); } void SetMoto1SelAOn(void) { SetAxisConfig(AXIS_ID1, MOUT_SEL_HIGH); } void SetMoto1SelAOff(void) { SetAxisConfig(AXIS_ID1, MOUT_SEL_LOW); } void SetMoto1SelBOn(void) { SetAxisConfig(AXIS_ID1, MOUT_EN_HIGH); } void SetMoto1SelBOff(void) { SetAxisConfig(AXIS_ID1, MOUT_EN_LOW); } u8 GetM1AlmStatus(void) // 电机1报警 { if ((GetAlarmValue() & AXIS1_ALM) != 0) { return SENSOR_ON; } else { return SENSOR_OFF; } } //-------------电机2------------------------- void SetMoto2SignOn(void) // 电机2方向 { SetAxisConfig(AXIS_ID2, MOUT_SIGN_CCW); } void SetMoto2SignOff(void) { SetAxisConfig(AXIS_ID2, MOUT_SIGN_CW); } void SetMoto2PulseOn(void) // 电机2脉冲 { SetAxisConfig(AXIS_ID2, MOUT_PLUS_ON); } void SetMoto2PulseOff(void) { SetAxisConfig(AXIS_ID2, MOUT_PLUS_OFF); } void SetMoto2SelAOn(void) { SetAxisConfig(AXIS_ID2, MOUT_SEL_HIGH); } void SetMoto2SelAOff(void) { SetAxisConfig(AXIS_ID2, MOUT_SEL_LOW); } void SetMoto2SelBOn(void) { SetAxisConfig(AXIS_ID2, MOUT_EN_HIGH); } void SetMoto2SelBOff(void) { SetAxisConfig(AXIS_ID2, MOUT_EN_LOW); } u8 GetM2AlmStatus(void) // 电机2报警 { if ((GetAlarmValue() & AXIS2_ALM) != 0) { return SENSOR_ON; } else { return SENSOR_OFF; } } //-------------电机3------------------------- void SetMoto3SignOn(void) // 电机3方向 { SetAxisConfig(AXIS_ID3, MOUT_SIGN_CCW); } void SetMoto3SignOff(void) { SetAxisConfig(AXIS_ID3, MOUT_SIGN_CW); } void SetMoto3PulseOn(void) // 电机3脉冲 { SetAxisConfig(AXIS_ID3, MOUT_PLUS_ON); } void SetMoto3PulseOff(void) { SetAxisConfig(AXIS_ID3, MOUT_PLUS_OFF); } void SetMoto3SelAOn(void) { SetAxisConfig(AXIS_ID3, MOUT_SEL_HIGH); } void SetMoto3SelAOff(void) { SetAxisConfig(AXIS_ID3, MOUT_SEL_LOW); } void SetMoto3SelBOn(void) { SetAxisConfig(AXIS_ID3, MOUT_EN_HIGH); } void SetMoto3SelBOff(void) { SetAxisConfig(AXIS_ID3, MOUT_EN_LOW); } u8 GetM3AlmStatus(void) // 电机3报警 { if ((GetAlarmValue() & AXIS3_ALM) != 0) { return SENSOR_ON; } else { return SENSOR_OFF; } } //-------------电机4------------------------- void SetMoto4SignOn(void) // 电机4方向 { SetAxisConfig(AXIS_ID4, MOUT_SIGN_CCW); } void SetMoto4SignOff(void) { SetAxisConfig(AXIS_ID4, MOUT_SIGN_CW); } void SetMoto4PulseOn(void) // 电机4脉冲 { SetAxisConfig(AXIS_ID4, MOUT_PLUS_ON); } void SetMoto4PulseOff(void) { SetAxisConfig(AXIS_ID4, MOUT_PLUS_OFF); } void SetMoto4SelAOn(void) { SetAxisConfig(AXIS_ID4, MOUT_SEL_HIGH); } void SetMoto4SelAOff(void) { SetAxisConfig(AXIS_ID4, MOUT_SEL_LOW); } void SetMoto4SelBOn(void) { SetAxisConfig(AXIS_ID4, MOUT_EN_HIGH); } void SetMoto4SelBOff(void) { SetAxisConfig(AXIS_ID4, MOUT_EN_LOW); } u8 GetM4AlmStatus(void) // 电机4报警 { if ((GetAlarmValue() & AXIS4_ALM) != 0) { return SENSOR_ON; } else { return SENSOR_OFF; } } //-------------电机5------------------------- void SetMoto5SignOn(void) // 电机5方向 { SetAxisConfig(AXIS_ID5, MOUT_SIGN_CCW); } void SetMoto5SignOff(void) { SetAxisConfig(AXIS_ID5, MOUT_SIGN_CW); } void SetMoto5PulseOn(void) // 电机5脉冲 { SetAxisConfig(AXIS_ID5, MOUT_PLUS_ON); } void SetMoto5PulseOff(void) { SetAxisConfig(AXIS_ID5, MOUT_PLUS_OFF); } void SetMoto5SelAOn(void) { SetAxisConfig(AXIS_ID5, MOUT_SEL_HIGH); } void SetMoto5SelAOff(void) { SetAxisConfig(AXIS_ID5, MOUT_SEL_LOW); } void SetMoto5SelBOn(void) { SetAxisConfig(AXIS_ID5, MOUT_EN_HIGH); } void SetMoto5SelBOff(void) { SetAxisConfig(AXIS_ID5, MOUT_EN_LOW); } u8 GetM5AlmStatus(void) // 电机5报警 { if ((GetAlarmValue() & AXIS5_ALM) != 0) { return SENSOR_ON; } else { return SENSOR_OFF; } } //-------------电机6------------------------- void SetMoto6SignOn(void) // 电机6方向 { SetAxisConfig(AXIS_ID6, MOUT_SIGN_CCW); } void SetMoto6SignOff(void) { SetAxisConfig(AXIS_ID6, MOUT_SIGN_CW); } void SetMoto6PulseOn(void) // 电机6脉冲 { SetAxisConfig(AXIS_ID6, MOUT_PLUS_ON); } void SetMoto6PulseOff(void) { SetAxisConfig(AXIS_ID6, MOUT_PLUS_OFF); } void SetMoto6SelAOn(void) { SetAxisConfig(AXIS_ID6, MOUT_SEL_HIGH); } void SetMoto6SelAOff(void) { SetAxisConfig(AXIS_ID6, MOUT_SEL_LOW); } void SetMoto6SelBOn(void) { SetAxisConfig(AXIS_ID6, MOUT_EN_HIGH); } void SetMoto6SelBOff(void) { SetAxisConfig(AXIS_ID6, MOUT_EN_LOW); } u8 GetM6AlmStatus(void) // 电机6报警 { if ((GetAlarmValue() & AXIS6_ALM) != 0) { return SENSOR_ON; } else { return SENSOR_OFF; } } //----------------------------------------- u8 GetInputNullOn(void) { //输入空操作 return Bit_RESET; } u8 GetInputNullOff(void) { //输入空操作 return Bit_SET; } void SetOutputNull(void) { //输出空操作 } //----------------------------------------- void SetDefaultOut(void) { USART6_485OutDis(); }