You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
929 B

/*
* dmk.c
*
* Created on: Jan 14, 2026
* Author: akeguo
*/
#include "dmk.h"
#include "main.h"
#include "dma.h"
#include "iwdg.h"
#include "tim.h"
#include "usart.h"
#include "gpio.h"
uint16_t Is_First_Run = 0;
void handle_dmk_motor(uint16_t velocity, int state) {
// if (Is_First_Run <= 5) {
// HAL_Delay(50);
// MB_WriteHoldingReg(1, 0, 4);//设置模式为0
// HAL_Delay(100);
// Is_First_Run++;;
// return;
// }
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) {
//stop
MB_WriteHoldingReg(1, 0x033, 0x0);
} else if (state == 2) {
//reverse
MB_WriteHoldingReg(1, 0x033, 0x14);
}
break;
}
case 0: {
MB_WriteHoldingReg(1, 0, 0);//设置模式为0
break;
}
}
//HAL_Delay(80);
}