2025-03-11 18:55:34 +08:00
|
|
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
|
|
#include "freertos/FreeRTOS.h"
|
|
|
|
|
|
#include "freertos/task.h"
|
|
|
|
|
|
#include "driver/uart.h"
|
|
|
|
|
|
#include "driver/gpio.h"
|
|
|
|
|
|
#include "sdkconfig.h"
|
|
|
|
|
|
#include "esp_log.h"
|
|
|
|
|
|
|
|
|
|
|
|
/* UART */
|
|
|
|
|
|
/* UART1 RT-2 TX-1*/
|
|
|
|
|
|
/* UART2 RT-46 TX-45*/
|
|
|
|
|
|
#define ECHO_TEST_TXD2 (45)
|
|
|
|
|
|
#define ECHO_TEST_RXD2 (46)
|
|
|
|
|
|
#define ECHO_UART_PORT_NUM2 (UART_NUM_2)
|
|
|
|
|
|
|
|
|
|
|
|
#define ECHO_TEST_TXD1 (1)
|
|
|
|
|
|
#define ECHO_TEST_RXD1 (2)
|
|
|
|
|
|
#define ECHO_UART_PORT_NUM1 (UART_NUM_1)
|
|
|
|
|
|
|
|
|
|
|
|
#define ECHO_TEST_RTS (UART_PIN_NO_CHANGE)
|
|
|
|
|
|
#define ECHO_TEST_CTS (UART_PIN_NO_CHANGE)
|
|
|
|
|
|
|
|
|
|
|
|
#define ECHO_UART_BAUD_RATE (9600)
|
|
|
|
|
|
#define ECHO_TASK_STACK_SIZE (16*1024)
|
|
|
|
|
|
|
2025-03-12 17:32:58 +08:00
|
|
|
|
/*ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD><C7B4><EFBFBD><EFBFBD><EFBFBD> Modbus-RTUͨѶ<CDA8><D1B6><EFBFBD>õ<EFBFBD><C3B5><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
#define BIG_ENDIAN_USED 0
|
|
|
|
|
|
#define LITTLE_ENDIAN_USED !BIG_ENDIAN_USED
|
|
|
|
|
|
|
|
|
|
|
|
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD>ַ*/
|
|
|
|
|
|
#define FLUX_ADDR 0x01
|
|
|
|
|
|
#define FLUX_FUNC_READ 0x03
|
|
|
|
|
|
#define FLUX_FUNC_SET 0x16
|
|
|
|
|
|
|
|
|
|
|
|
/*Modbus-RTU֡<55><D6A1>ʽ */
|
|
|
|
|
|
/*ʪʽ<CAAA><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݾ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD>*/
|
|
|
|
|
|
/*
|
|
|
|
|
|
ADDR : 1byte
|
|
|
|
|
|
FUNC : 1byte
|
|
|
|
|
|
DATA : 2byte
|
|
|
|
|
|
CRC : 2byte
|
|
|
|
|
|
*/
|
|
|
|
|
|
struct ModbusRTU_Frame
|
|
|
|
|
|
{
|
|
|
|
|
|
unsigned char ADDR;
|
|
|
|
|
|
unsigned char FUNC;
|
|
|
|
|
|
unsigned char DATA[2];
|
|
|
|
|
|
unsigned char CRC[2];
|
|
|
|
|
|
};
|
|
|
|
|
|
|
2025-03-11 18:55:34 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*<2A><><EFBFBD><EFBFBD>1<EFBFBD><31>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
void uart1_echoTask(void);
|
|
|
|
|
|
|
|
|
|
|
|
/*<2A><><EFBFBD><EFBFBD>2<EFBFBD><32>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>*/
|
|
|
|
|
|
void uart2_echoTask(void);
|
|
|
|
|
|
|
2025-03-12 17:32:58 +08:00
|
|
|
|
/*CRC16У<36><D0A3>*/
|
|
|
|
|
|
unsigned short CRC16(unsigned char* pchMsg, unsigned short wDataLen);
|