This commit is contained in:
cfif 2026-05-18 17:40:41 +03:00
parent d81caee1b6
commit 8bc4d26df5
2 changed files with 81 additions and 476 deletions

View File

@ -7,7 +7,6 @@
tSerialPorts SERIAL_PORTS;
uint8_t buf_USART3_DMA[256];
// IDLE прерывание
@ -55,32 +54,24 @@ static void vSerialPort_InitUSART3(tSerialPortArtery *env) {
}
uint8_t buf_USART2_DMA[100];
uint8_t buf_USART2_DMA[256];
// IDLE прерывание
void USART2_IRQHandler() {
SerialPort_IrqProcessing_UartIdle(&SERIAL_PORTS.Rs485);
SerialPort_IrqProcessing_UartIdle(&SERIAL_PORTS.Rs485_USART2);
}
// RX
void DMA1_Channel6_IRQHandler(void) {
SerialPort_IrqProcessing_DmaRxLoop(&SERIAL_PORTS.Rs485);
void DMA1_Channel7_IRQHandler(void) {
SerialPort_IrqProcessing_DmaRxLoop(&SERIAL_PORTS.Rs485_USART2);
}
// TX
void DMA1_Channel7_IRQHandler(void) {
SerialPort_IrqProcessing_DmaTx(&SERIAL_PORTS.Rs485);
void DMA2_Channel7_IRQHandler(void) {
SerialPort_IrqProcessing_DmaTx(&SERIAL_PORTS.Rs485_USART2);
}
// Настройка порта PRO04
// Настройка порта
static void vSerialPort_InitUSART2(tSerialPortArtery *env) {
gpio_init_type GPIO_InitStruct;
@ -98,7 +89,7 @@ static void vSerialPort_InitUSART2(tSerialPortArtery *env) {
vSerialPortInitDmaWithNameAndSniffer(
env, USART2, 115200,
1, 6, 1, 7,
1, 7, 2, 7,
false, 0xFF,
buf_USART2_DMA, sizeof(buf_USART2_DMA),
1024, 0
@ -106,494 +97,89 @@ static void vSerialPort_InitUSART2(tSerialPortArtery *env) {
}
/*
uint8_t buf_USART3_DMA[256];
uint8_t buf_UART4_DMA[256];
// IDLE прерывание
void USART3_IRQHandler() {
SerialPort_IrqProcessing_UartIdle(&SERIAL_PORTS.Rs485);
void USART4_IRQHandler() {
SerialPort_IrqProcessing_UartIdle(&SERIAL_PORTS.LIN1_UART4);
}
// RX
void DMA1_Channel3_IRQHandler(void) {
SerialPort_IrqProcessing_DmaRxLoop(&SERIAL_PORTS.Rs485);
SerialPort_IrqProcessing_DmaRxLoop(&SERIAL_PORTS.LIN1_UART4);
}
// TX
void DMA1_Channel4_IRQHandler(void) {
SerialPort_IrqProcessing_DmaTx(&SERIAL_PORTS.Rs485);
}
// Настройка порта
static void vSerialPort_InitUSART3(tSerialPortArtery *env) {
gpio_init_type GPIO_InitStruct;
gpio_default_para_init(&GPIO_InitStruct);
GPIO_InitStruct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
GPIO_InitStruct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;
GPIO_InitStruct.gpio_mode = GPIO_MODE_MUX;
GPIO_InitStruct.gpio_pins = GPIO_PINS_10 | GPIO_PINS_11;
GPIO_InitStruct.gpio_pull = GPIO_PULL_NONE;
gpio_init(GPIOC, &GPIO_InitStruct);
gpio_pin_mux_config(GPIOC, GPIO_PINS_SOURCE10, GPIO_MUX_7);
gpio_pin_mux_config(GPIOC, GPIO_PINS_SOURCE11, GPIO_MUX_7);
vSerialPortInitDmaWithNameAndSniffer(
env, USART3, 115200,
1, 3, 1, 4,
false, 0xFF,
buf_USART3_DMA, sizeof(buf_USART3_DMA),
256, 256
);
}
uint8_t buf_USART5_DMA[256];
// IDLE прерывание
void UART5_IRQHandler() {
SerialPort_IrqProcessing_UartIdle(&SERIAL_PORTS.Rs232);
}
// RX
void DMA1_Channel1_IRQHandler(void) {
SerialPort_IrqProcessing_DmaRxLoop(&SERIAL_PORTS.Rs232);
}
// TX
void DMA1_Channel2_IRQHandler(void) {
SerialPort_IrqProcessing_DmaTx(&SERIAL_PORTS.Rs232);
}
// Настройка порта
static void vSerialPort_InitUSART5(tSerialPortArtery *env) {
gpio_init_type GPIO_InitStruct;
gpio_default_para_init(&GPIO_InitStruct);
GPIO_InitStruct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
GPIO_InitStruct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;
GPIO_InitStruct.gpio_mode = GPIO_MODE_MUX;
GPIO_InitStruct.gpio_pins = GPIO_PINS_12;
GPIO_InitStruct.gpio_pull = GPIO_PULL_NONE;
gpio_init(GPIOC, &GPIO_InitStruct);
GPIO_InitStruct.gpio_pins = GPIO_PINS_2;
gpio_init(GPIOD, &GPIO_InitStruct);
gpio_pin_mux_config(GPIOC, GPIO_PINS_SOURCE12, GPIO_MUX_8);
gpio_pin_mux_config(GPIOD, GPIO_PINS_SOURCE2, GPIO_MUX_8);
vSerialPortInitDmaWithNameAndSniffer(
env, UART5, 921600,
1, 1, 1, 2,
false, 0xFF,
buf_USART5_DMA, sizeof(buf_USART5_DMA),
1024, 0
);
SerialPort_IrqProcessing_DmaTx(&SERIAL_PORTS.LIN1_UART4);
}
*/
void UART4_IRQHandler(void) {
SerialPort_IrqProcessing_UartLin(&SERIAL_PORTS.LIN1_UART4);
}
// Настройка порта
static void vSerialPort_InitUSART4(tSerialPortArtery *env) {
gpio_init_type GPIO_InitStruct;
gpio_default_para_init(&GPIO_InitStruct);
GPIO_InitStruct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
GPIO_InitStruct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;
GPIO_InitStruct.gpio_mode = GPIO_MODE_MUX;
GPIO_InitStruct.gpio_pins = GPIO_PINS_1;
GPIO_InitStruct.gpio_pull = GPIO_PULL_NONE;
gpio_init(GPIOA, &GPIO_InitStruct);
GPIO_InitStruct.gpio_pins = GPIO_PINS_0;
gpio_init(GPIOA, &GPIO_InitStruct);
gpio_pin_mux_config(GPIOA, GPIO_PINS_SOURCE1, GPIO_MUX_8);
gpio_pin_mux_config(GPIOA, GPIO_PINS_SOURCE0, GPIO_MUX_8);
/*
//начало------------------------------------Радиомодуль-----------------------------------------------------------------
//начало------------------------------------Радиомодуль-----------------------------------------------------------------
//начало------------------------------------Радиомодуль-----------------------------------------------------------------
//void USART3_IRQHandler() {
// vSerialPortIrqProcessing(&SERIAL_PORTS.GONEC1);
//}
uint8_t buf_USART3_DMA[3200];
// IDLE прерывание
void USART3_IRQHandler() {
// Смотрим idle прерывание
// if (usart_flag_get(SERIAL_PORTS.MBEE.uart, USART_IDLEF_FLAG)) {
// // Сброс прерывания
// usart_data_receive(SERIAL_PORTS.MBEE.uart);
//
// vSerialPortIrqProcessingDMAloop(&SERIAL_PORTS.MBEE, SERIAL_PORTS.MBEE.dma_rx_init_struct.buffer_size -
// SERIAL_PORTS.MBEE.dma_channel->dtcnt);
//
// }
SerialPort_IrqProcessing_UartIdle(&SERIAL_PORTS.MBEE);
}
// RX
void DMA1_Channel3_IRQHandler(void) {
// if (dma_flag_get(DMA1_FDT3_FLAG)) {
//
// vSerialPortIrqProcessingDMAloop(&SERIAL_PORTS.MBEE,
// SERIAL_PORTS.MBEE.dma_rx_init_struct.buffer_size);
// SERIAL_PORTS.MBEE.offset = 0;
// dma_flag_clear(DMA1_FDT3_FLAG);
// }
SerialPort_IrqProcessing_DmaRxLoop(&SERIAL_PORTS.MBEE);
}
// TX
void DMA1_Channel4_IRQHandler(void) {
// if (dma_flag_get(DMA1_FDT4_FLAG)) {
// dma_flag_clear(DMA1_FDT4_FLAG);
//// osMutexRelease(SERIAL_PORTS.GONEC1.dmaAccess);
// }
SerialPort_IrqProcessing_DmaTx(&SERIAL_PORTS.MBEE);
}
// Настройка порта радиомодуля
static void vSerialPort_InitUSART3(tSerialPortArtery *env) {
gpio_init_type GPIO_InitStruct;
gpio_default_para_init(&GPIO_InitStruct);
GPIO_InitStruct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
GPIO_InitStruct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;
GPIO_InitStruct.gpio_mode = GPIO_MODE_MUX;
GPIO_InitStruct.gpio_pins = GPIO_PINS_10 | GPIO_PINS_11;
GPIO_InitStruct.gpio_pull = GPIO_PULL_NONE;
gpio_init(GPIOB, &GPIO_InitStruct);
// GPIO_InitStruct.gpio_pull = GPIO_PULL_DOWN;
GPIO_InitStruct.gpio_pins = GPIO_PINS_14;
gpio_init(GPIOB, &GPIO_InitStruct);
gpio_pin_mux_config(GPIOB, GPIO_PINS_SOURCE10, GPIO_MUX_7);
gpio_pin_mux_config(GPIOB, GPIO_PINS_SOURCE11, GPIO_MUX_7);
gpio_pin_mux_config(GPIOB, GPIO_PINS_SOURCE14, GPIO_MUX_7);
// gpio_pin_mux_config(GPIOB, GPIO_PINS_SOURCE13, GPIO_MUX_8);
// vSerialPortInitNameWithSniffer(env, USART3, true, 115200, 0x55, 1024, 1024);
// env->dmaAccess = osMutexNew(NULL);
// vSerialPortInitDMAName(env, USART3, DMA1,
// DMA1_CHANNEL3, DMA1MUX_CHANNEL3, DMAMUX_DMAREQ_ID_USART3_RX, DMA1_Channel3_IRQn,
// DMA1_FDT3_FLAG,
// buf_USART3_DMA, sizeof(buf_USART3_DMA),
// DMA1_CHANNEL4, DMA1MUX_CHANNEL4, DMAMUX_DMAREQ_ID_USART3_TX, DMA1_Channel4_IRQn,
// DMA1_FDT4_FLAG,
// false, 9600, 0x59, 3200);
vSerialPortInitDmaExtWithNameAndSniffer(
env, USART3, 9600,
vSerialPortInitDmaWithNameAndSniffer(
env, UART4, 9600,
1, 3, 1, 4,
false, USART_HARDWARE_FLOW_RTS, 0x59,
buf_USART3_DMA, sizeof(buf_USART3_DMA),
3200, 0
);
}
void SerialMBEEInit(tSerialPorts *env, uint32_t bt) {
vSerialPortInitDmaExtWithNameAndSniffer(
&env->MBEE, USART3, bt,
1, 3, 1, 4,
false, USART_HARDWARE_FLOW_RTS, 0x59,
buf_USART3_DMA, sizeof(buf_USART3_DMA),
3200, 0
);
}
//конец-------------------------------------Радиомодуль-----------------------------------------------------------------
//конец-------------------------------------Радиомодуль-----------------------------------------------------------------
//конец-------------------------------------Радиомодуль-----------------------------------------------------------------
//начало-------------------------------------ГНСС-----------------------------------------------------------------------
//начало-------------------------------------ГНСС-----------------------------------------------------------------------
//начало-------------------------------------ГНСС-----------------------------------------------------------------------
uint8_t buf_USART2_DMA[100];
//void USART2_IRQHandler() {
// vSerialPortIrqProcessing(&SERIAL_PORTS.PRO04);
//}
// IDLE прерывание
void USART2_IRQHandler() {
// Смотрим idle прерывание
// if (usart_flag_get(SERIAL_PORTS.PRO04.uart, USART_IDLEF_FLAG)) {
// // Сброс прерывания
// usart_data_receive(SERIAL_PORTS.PRO04.uart);
//
// vSerialPortIrqProcessingDMAloop(&SERIAL_PORTS.PRO04, SERIAL_PORTS.PRO04.dma_rx_init_struct.buffer_size -
// SERIAL_PORTS.PRO04.dma_channel->dtcnt);
//
// }
SerialPort_IrqProcessing_UartIdle(&SERIAL_PORTS.PRO04);
}
// RX
void DMA1_Channel6_IRQHandler(void) {
// if (dma_flag_get(DMA1_FDT6_FLAG)) {
//
// vSerialPortIrqProcessingDMAloop(&SERIAL_PORTS.PRO04,
// SERIAL_PORTS.PRO04.dma_rx_init_struct.buffer_size);
// SERIAL_PORTS.PRO04.offset = 0;
// dma_flag_clear(DMA1_FDT6_FLAG);
// }
SerialPort_IrqProcessing_DmaRxLoop(&SERIAL_PORTS.PRO04);
}
// TX
void DMA1_Channel7_IRQHandler(void) {
// if (dma_flag_get(DMA1_FDT7_FLAG)) {
// dma_flag_clear(DMA1_FDT7_FLAG);
// osMutexRelease(SERIAL_PORTS.PRO04.dmaAccess);
// }
SerialPort_IrqProcessing_DmaTx(&SERIAL_PORTS.PRO04);
}
// Настройка порта PRO04
static void vSerialPort_InitUSART2(tSerialPortArtery *env) {
gpio_init_type GPIO_InitStruct;
gpio_default_para_init(&GPIO_InitStruct);
GPIO_InitStruct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
GPIO_InitStruct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;
GPIO_InitStruct.gpio_mode = GPIO_MODE_MUX;
GPIO_InitStruct.gpio_pins = GPIO_PINS_2 | GPIO_PINS_3;
GPIO_InitStruct.gpio_pull = GPIO_PULL_NONE;
gpio_init(GPIOA, &GPIO_InitStruct);
gpio_pin_mux_config(GPIOA, GPIO_PINS_SOURCE2, GPIO_MUX_7);
gpio_pin_mux_config(GPIOA, GPIO_PINS_SOURCE3, GPIO_MUX_7);
// vSerialPortInitName(env, USART2, false, 115200, 0xFF, 256);
// env->dmaAccess = osMutexNew(NULL);
// vSerialPortInitDMAName(env, USART2, DMA1,
// DMA1_CHANNEL6, DMA1MUX_CHANNEL6, DMAMUX_DMAREQ_ID_USART2_RX, DMA1_Channel6_IRQn,
// DMA1_FDT6_FLAG,
// buf_USART2_DMA, sizeof(buf_USART2_DMA),
// DMA1_CHANNEL7, DMA1MUX_CHANNEL7, DMAMUX_DMAREQ_ID_USART2_TX, DMA1_Channel7_IRQn,
// DMA1_FDT7_FLAG,
// false, 115200, 0xFF, 256);
vSerialPortInitDmaWithNameAndSniffer(
env, USART2, 115200,
1, 6, 1, 7,
false, 0xFF,
buf_USART2_DMA, sizeof(buf_USART2_DMA),
256, 256
buf_UART4_DMA, sizeof(buf_UART4_DMA),
256, 0
);
}
//конец--------------------------------------ГНСС-----------------------------------------------------------------------
//конец--------------------------------------ГНСС-----------------------------------------------------------------------
//конец--------------------------------------ГНСС-----------------------------------------------------------------------
//начало-------------------------------------Модем-----------------------------------------------------------------------
//начало-------------------------------------Модем-----------------------------------------------------------------------
//начало-------------------------------------Модем-----------------------------------------------------------------------
uint8_t buf_USART1_DMA[2048];
//void USART1_IRQHandler() {
// vSerialPortIrqProcessing(&SERIAL_PORTS.GSM);
//}
// IDLE прерывание
void USART1_IRQHandler() {
SerialPort_IrqProcessing_UartIdle(&SERIAL_PORTS.GSM);
// Смотрим idle прерывание
// if (usart_flag_get(SERIAL_PORTS.GSM.uart, USART_IDLEF_FLAG)) {
// // Сброс прерывания
// usart_data_receive(SERIAL_PORTS.GSM.uart);
//
// vSerialPortIrqProcessingDMAloop(&SERIAL_PORTS.PRO04, SERIAL_PORTS.GSM.dma_rx_init_struct.buffer_size -
// SERIAL_PORTS.GSM.dma_channel->dtcnt);
//
// }
}
// RX
void DMA1_Channel1_IRQHandler(void) {
SerialPort_IrqProcessing_DmaRxLoop(&SERIAL_PORTS.GSM);
// if (dma_flag_get(DMA1_FDT1_FLAG)) {
//
// vSerialPortIrqProcessingDMAloop(&SERIAL_PORTS.GSM,
// SERIAL_PORTS.GSM.dma_rx_init_struct.buffer_size);
// SERIAL_PORTS.GSM.offset = 0;
// dma_flag_clear(DMA1_FDT1_FLAG);
// }
}
// TX
void DMA1_Channel2_IRQHandler(void) {
SerialPort_IrqProcessing_DmaTx(&SERIAL_PORTS.GSM);
//
// if (dma_flag_get(DMA1_FDT2_FLAG)) {
// dma_flag_clear(DMA1_FDT2_FLAG);
//// osMutexRelease(SERIAL_PORTS.PRO04.dmaAccess);
// }
}
// Настройка порта GSM
static void vSerialPort_InitUSART1(tSerialPortArtery *env) {
gpio_init_type GPIO_InitStruct;
gpio_default_para_init(&GPIO_InitStruct);
GPIO_InitStruct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
GPIO_InitStruct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;
GPIO_InitStruct.gpio_mode = GPIO_MODE_MUX;
GPIO_InitStruct.gpio_pins = GPIO_PINS_10;
GPIO_InitStruct.gpio_pull = GPIO_PULL_NONE;
gpio_init(GPIOA, &GPIO_InitStruct);
GPIO_InitStruct.gpio_pins = GPIO_PINS_6;
gpio_init(GPIOB, &GPIO_InitStruct);
gpio_pin_mux_config(GPIOA, GPIO_PINS_SOURCE10, GPIO_MUX_7);
gpio_pin_mux_config(GPIOB, GPIO_PINS_SOURCE6, GPIO_MUX_7);
// vSerialPortInitName(env, USART1, false, 115200, 0xFF, 256);
// env->dmaAccess = osMutexNew(NULL);
vSerialPortInitDmaWithNameAndSniffer(
env, USART1, 115200,
1, 1, 1, 2,
false, 0xFF,
buf_USART1_DMA, sizeof(buf_USART1_DMA),
1024, 1024
);
// vSerialPortInitDMAName(env, USART1, DMA1,
// DMA1_CHANNEL1, DMA1MUX_CHANNEL1, DMAMUX_DMAREQ_ID_USART1_RX, DMA1_Channel1_IRQn,
// DMA1_FDT1_FLAG,
// buf_USART1_DMA, sizeof(buf_USART1_DMA),
// DMA1_CHANNEL2, DMA1MUX_CHANNEL2, DMAMUX_DMAREQ_ID_USART1_TX, DMA1_Channel2_IRQn,
// DMA1_FDT2_FLAG,
// false, 115200, 0xFF, 256);
}
//конец--------------------------------------Модем-----------------------------------------------------------------------
//конец--------------------------------------Модем-----------------------------------------------------------------------
//конец--------------------------------------Модем-----------------------------------------------------------------------
//начало--------------------------------Командный интерфейс--------------------------------------------------------------
//начало--------------------------------Командный интерфейс--------------------------------------------------------------
//начало--------------------------------Командный интерфейс--------------------------------------------------------------
uint8_t buf_USART6_DMA[512];
//void USART1_IRQHandler() {
// vSerialPortIrqProcessing(&SERIAL_PORTS.GSM);
//}
// IDLE прерывание
void USART6_IRQHandler() {
SerialPort_IrqProcessing_UartIdle(&SERIAL_PORTS.ComInt);
}
// RX
void DMA2_Channel1_IRQHandler(void) {
SerialPort_IrqProcessing_DmaRxLoop(&SERIAL_PORTS.ComInt);
}
// TX
void DMA2_Channel2_IRQHandler(void) {
SerialPort_IrqProcessing_DmaTx(&SERIAL_PORTS.ComInt);
}
// Настройка порта командного интерфейса
static void vSerialPort_InitUSART6(tSerialPortArtery *env) {
gpio_init_type GPIO_InitStruct;
gpio_default_para_init(&GPIO_InitStruct);
GPIO_InitStruct.gpio_drive_strength = GPIO_DRIVE_STRENGTH_STRONGER;
GPIO_InitStruct.gpio_out_type = GPIO_OUTPUT_PUSH_PULL;
GPIO_InitStruct.gpio_mode = GPIO_MODE_MUX;
GPIO_InitStruct.gpio_pins = GPIO_PINS_6 | GPIO_PINS_7;
GPIO_InitStruct.gpio_pull = GPIO_PULL_NONE;
gpio_init(GPIOC, &GPIO_InitStruct);
gpio_pin_mux_config(GPIOC, GPIO_PINS_SOURCE6, GPIO_MUX_8);
gpio_pin_mux_config(GPIOC, GPIO_PINS_SOURCE7, GPIO_MUX_8);
vSerialPortInitDmaWithNameAndSniffer(
env, USART6, 115200,
2, 1, 2, 2,
false, 0xFF,
buf_USART6_DMA, sizeof(buf_USART6_DMA),
1024, 0
);
// vSerialPortInitDMAName(env, USART1, DMA1,
// DMA1_CHANNEL1, DMA1MUX_CHANNEL1, DMAMUX_DMAREQ_ID_USART1_RX, DMA1_Channel1_IRQn,
// DMA1_FDT1_FLAG,
// buf_USART1_DMA, sizeof(buf_USART1_DMA),
// DMA1_CHANNEL2, DMA1MUX_CHANNEL2, DMAMUX_DMAREQ_ID_USART1_TX, DMA1_Channel2_IRQn,
// DMA1_FDT2_FLAG,
// false, 115200, 0xFF, 256);
}
//конец---------------------------------Командный интерфейс--------------------------------------------------------------
//конец---------------------------------Командный интерфейс--------------------------------------------------------------
//конец---------------------------------Командный интерфейс--------------------------------------------------------------
*/
vSerialPortLinInit(
env,
UART4,
false,
9600,
UART4_IRQn,
CRM_UART4_PERIPH_CLOCK,
0xFF,
16,
0
);
}
void SerialPorts_Init(tRs485DirectionPins *directionPins) {
tSerialPorts *env = &SERIAL_PORTS;
// LIN5
vSerialPort_InitUSART4(&env->LIN1_UART4);
SERIAL_PORTS.LIN1_UART4_IO = vSerialPortGetIo(&SERIAL_PORTS.LIN1_UART4);
vSerialPort_InitUSART3(&env->DEBUG_USART3);
SERIAL_PORTS.DEBUG_USART3_IO = vSerialPortGetIo(&SERIAL_PORTS.DEBUG_USART3);
vSerialPort_InitUSART2(&env->Rs485);
SERIAL_PORTS.Rs485_IO = vSerialPortGetIo(&SERIAL_PORTS.Rs485);
SERIAL_PORTS.Rs485_HalfDuplex = vSerialPortHalfDuplexInit(&SERIAL_PORTS.Rs485_IO,
vSerialPort_InitUSART2(&env->Rs485_USART2);
SERIAL_PORTS.Rs485_USART2_IO = vSerialPortGetIo(&SERIAL_PORTS.Rs485_USART2);
SERIAL_PORTS.Rs485_USART2_HalfDuplex = vSerialPortHalfDuplexInit(&SERIAL_PORTS.Rs485_USART2_IO,
&directionPins->transmit,
&directionPins->receive);
SERIAL_PORTS.Rs485_HalfDuplexIo = vSerialPortHalfDuplexGetIo(&SERIAL_PORTS.Rs485_HalfDuplex);
SERIAL_PORTS.Rs485_USART2_HalfDuplexIo = vSerialPortHalfDuplexGetIo(&SERIAL_PORTS.Rs485_USART2_HalfDuplex);
SerialPortVirt_Init(&env->cliVirtualPortOut, 4096);

View File

@ -26,14 +26,33 @@ typedef struct {
// tSerialPortArtery Rs232;
// tSerialPortIO Rs232_IO;
tSerialPortArtery LIN1_UART4;
tSerialPortIO LIN1_UART4_IO;
/*
tSerialPortArtery LIN2_UART5;
tSerialPortIO LIN2_UART5_IO;
tSerialPortArtery LIN3_USART6;
tSerialPortIO LIN3_USART6_IO;
tSerialPortArtery LIN4_UART7;
tSerialPortIO LIN4_UART7_IO;
tSerialPortArtery LIN5_UART8;
tSerialPortIO LIN5_UART8_IO;
tSerialPortArtery LIN6_USART1;
tSerialPortIO LIN6_USART1_IO;
*/
tSerialPortArtery DEBUG_USART3;
tSerialPortIO DEBUG_USART3_IO;
tSerialPortArtery Rs485_USART2;
tSerialPortIO Rs485_USART2_IO;
tSerialPortHalfDuplex Rs485_USART2_HalfDuplex;
tSerialPortIO Rs485_USART2_HalfDuplexIo;
tSerialPortArtery Rs485;
tSerialPortIO Rs485_IO;
tSerialPortHalfDuplex Rs485_HalfDuplex;
tSerialPortIO Rs485_HalfDuplexIo;
/*
*