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.
|
|
#pragma once
//
#include "stm32basic/zbasic.h"
#include "../mutex.hpp"
namespace iflytop { class ModbusBlockHost { UART_HandleTypeDef *huart;
uint8_t txbuff[100]; uint8_t rxbuff[100];
zmutex m_modbus_lock;
public: ModbusBlockHost(); ~ModbusBlockHost();
void initialize(UART_HandleTypeDef *huart);
bool readReg03(uint8_t slaveAddr, uint16_t regAddr, uint16_t *regVal, int overtimems); bool readReg03Muti(uint8_t slaveAddr, uint16_t regAddr, uint16_t *regVal, int regNum, int overtimems); bool writeReg06(uint8_t slaveAddr, uint16_t regAddr, uint16_t regVal, int overtimems); bool writeReg10(uint8_t slaveAddr, uint16_t regAddr, uint16_t regVal, int overtimems);
private: void cleanRxBuff(); void uarttx(uint8_t *buff, size_t len); bool uartrx(uint8_t *buff, size_t len, int overtimems); }; } // namespace iflytop
|