update transDataToHost
This commit is contained in:
parent
df9e7376e6
commit
e4a2ccf228
@ -9,7 +9,7 @@
|
|||||||
typedef struct {
|
typedef struct {
|
||||||
uint32_t magic; // 魔数,用于验证配置有效性
|
uint32_t magic; // 魔数,用于验证配置有效性
|
||||||
wiz_NetInfo net_config; // 网络配置
|
wiz_NetInfo net_config; // 网络配置
|
||||||
DeviceParam device_param; // 设备参数
|
DeviceParam_t device_param; // 设备参数
|
||||||
uint32_t checksum; // 校验和
|
uint32_t checksum; // 校验和
|
||||||
} FlashConfig_t;
|
} FlashConfig_t;
|
||||||
|
|
||||||
|
@ -56,6 +56,9 @@ extern volatile uint8_t motorRxEnd;
|
|||||||
/* Exported functions prototypes ---------------------------------------------*/
|
/* Exported functions prototypes ---------------------------------------------*/
|
||||||
void Error_Handler(void);
|
void Error_Handler(void);
|
||||||
void transDataToMotorValve(uint8_t *data, uint16_t len);
|
void transDataToMotorValve(uint8_t *data, uint16_t len);
|
||||||
|
void transDataToHost(uint8_t *data, uint16_t len);
|
||||||
|
uint8_t readDataFromMotorValve(uint8_t *data, uint16_t len, uint32_t timeout);
|
||||||
|
|
||||||
/* USER CODE BEGIN EFP */
|
/* USER CODE BEGIN EFP */
|
||||||
|
|
||||||
/* USER CODE END EFP */
|
/* USER CODE END EFP */
|
||||||
|
@ -182,7 +182,7 @@ static void handle_status_request(uint8_t sn)
|
|||||||
"\"errorCode\":%d,"
|
"\"errorCode\":%d,"
|
||||||
"\"initStatus\":%d"
|
"\"initStatus\":%d"
|
||||||
"}",
|
"}",
|
||||||
deviceStatus.deviceStatus,
|
deviceStatus.sensorStatus,
|
||||||
deviceStatus.valves.angle1,
|
deviceStatus.valves.angle1,
|
||||||
deviceStatus.valves.angle2,
|
deviceStatus.valves.angle2,
|
||||||
deviceStatus.pumps.status1,
|
deviceStatus.pumps.status1,
|
||||||
|
@ -38,7 +38,7 @@
|
|||||||
|
|
||||||
/* Private define ------------------------------------------------------------*/
|
/* Private define ------------------------------------------------------------*/
|
||||||
/* USER CODE BEGIN PD */
|
/* USER CODE BEGIN PD */
|
||||||
|
#define HOST_USE_DMA 1
|
||||||
/* USER CODE END PD */
|
/* USER CODE END PD */
|
||||||
|
|
||||||
/* Private macro -------------------------------------------------------------*/
|
/* Private macro -------------------------------------------------------------*/
|
||||||
@ -64,10 +64,13 @@ void transDataToHost(uint8_t *data, uint16_t len)
|
|||||||
{
|
{
|
||||||
// 开启uart3 dma
|
// 开启uart3 dma
|
||||||
HAL_GPIO_WritePin(DIR1_GPIO_Port, DIR1_Pin, GPIO_PIN_SET);
|
HAL_GPIO_WritePin(DIR1_GPIO_Port, DIR1_Pin, GPIO_PIN_SET);
|
||||||
// HAL_Delay(100);
|
#ifdef HOST_USE_DMA
|
||||||
|
HAL_UART_Transmit_DMA(&huart1, data, len);
|
||||||
|
#else
|
||||||
HAL_UART_Transmit(&huart1, data, len, 1000);
|
HAL_UART_Transmit(&huart1, data, len, 1000);
|
||||||
HAL_GPIO_WritePin(DIR1_GPIO_Port, DIR1_Pin, GPIO_PIN_RESET);
|
HAL_GPIO_WritePin(DIR1_GPIO_Port, DIR1_Pin, GPIO_PIN_RESET);
|
||||||
// HAL_Delay(100);
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void transDataToMotorValve(uint8_t *data, uint16_t len)
|
void transDataToMotorValve(uint8_t *data, uint16_t len)
|
||||||
@ -80,6 +83,11 @@ void transDataToMotorValve(uint8_t *data, uint16_t len)
|
|||||||
HAL_GPIO_WritePin(DIR2_GPIO_Port, DIR2_Pin, GPIO_PIN_RESET);
|
HAL_GPIO_WritePin(DIR2_GPIO_Port, DIR2_Pin, GPIO_PIN_RESET);
|
||||||
// HAL_Delay(100);
|
// HAL_Delay(100);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint8_t readDataFromMotorValve(uint8_t *data, uint16_t len, uint32_t timeout)
|
||||||
|
{
|
||||||
|
return HAL_UART_Receive(&huart2, data, len, timeout);
|
||||||
|
}
|
||||||
/* USER CODE END PFP */
|
/* USER CODE END PFP */
|
||||||
|
|
||||||
/* Private user code ---------------------------------------------------------*/
|
/* Private user code ---------------------------------------------------------*/
|
||||||
@ -205,6 +213,16 @@ void SystemClock_Config(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* USER CODE BEGIN 4 */
|
/* USER CODE BEGIN 4 */
|
||||||
|
// DMA 传输完成回调函数
|
||||||
|
void HAL_DMA_XferCpltCallback(DMA_HandleTypeDef *hdma)
|
||||||
|
{
|
||||||
|
if (hdma->Instance == DMA1_Channel4){
|
||||||
|
// 在此处处理 DMA 发送完成的逻辑,例如切换 RS485 状态
|
||||||
|
#ifdef HOST_USE_DMA
|
||||||
|
HAL_GPIO_WritePin(DIR1_GPIO_Port, DIR1_Pin, GPIO_PIN_RESET);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
/* USER CODE END 4 */
|
/* USER CODE END 4 */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user