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.
36 lines
745 B
36 lines
745 B
|
1 week ago
|
#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;
|
||
|
|
}
|
||
|
|
}
|