|
|
@ -209,9 +209,34 @@ void Main::run() { |
|
|
|
/*******************************************************************************
|
|
|
|
* 压力传感器 * |
|
|
|
*******************************************************************************/ |
|
|
|
|
|
|
|
// while (true) {
|
|
|
|
// static ModbusBlockHost modbusBlockHost;
|
|
|
|
// modbusBlockHost.initialize(&huart3);
|
|
|
|
// int16_t val[1] = {0};
|
|
|
|
// bool suc = modbusBlockHost.readReg03Muti(1, 0x00, (uint16_t *)val, 1, 50);
|
|
|
|
// printf("suc:%d val:%d\n", suc, val[0]);
|
|
|
|
// chip_delay_ms(1000);
|
|
|
|
// }
|
|
|
|
|
|
|
|
{ |
|
|
|
m_huachengPressureSensor.initialize(&m_canReceiver); |
|
|
|
m_huachengPressureSensor.regSubmodule(1, &huart3, 1); |
|
|
|
m_huachengPressureSensor.regSubmodule(1, [this](DP600PressureSensor::sensor_data_t *data) { //
|
|
|
|
static ModbusBlockHost modbusBlockHost; |
|
|
|
modbusBlockHost.initialize(&huart3); |
|
|
|
int16_t val[1] = {0}; |
|
|
|
bool suc = modbusBlockHost.readReg03Muti(1, 0x00, (uint16_t *)val, 1, 50); |
|
|
|
if (!suc) { |
|
|
|
return false; |
|
|
|
} |
|
|
|
data->precision = 3; |
|
|
|
data->pressure_unit = 1; |
|
|
|
data->value = val[0]; |
|
|
|
data->zero_point = 0; |
|
|
|
data->range_full_point = 0; |
|
|
|
|
|
|
|
return true; |
|
|
|
}); |
|
|
|
m_huachengPressureSensor.regSubmodule(2, &huart3, 2); |
|
|
|
m_huachengPressureSensor.regSubmodule(3, &huart3, 3); |
|
|
|
m_huachengPressureSensor.regSubmodule(4, &huart3, 4); |
|
|
|