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.
56 lines
929 B
56 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);
|
|
}
|
|
|