#include "dmk.h" #include "modbus.h" uint16_t Is_First_Run = 0; void handle_dmk_motor(uint16_t velocity, int state) { char ms_100_state = HAL_GetTick() / 300 % 3; switch (ms_100_state) { case 1: MB_WriteHoldingReg(1, 0x06A, velocity); break; case 2: if (state == 1) { MB_WriteHoldingReg(1, 0x033, 0x01); /* 正转 */ } else if (state == 0) { MB_WriteHoldingReg(1, 0x033, 0x00); /* 停止 */ } else if (state == 2) { MB_WriteHoldingReg(1, 0x033, 0x14); /* 反转 */ } break; case 0: MB_WriteHoldingReg(1, 0x000, 0); /* 设置模式为0 */ break; } }