Начало
This commit is contained in:
commit
bb6604449f
|
|
@ -0,0 +1,461 @@
|
||||||
|
//
|
||||||
|
// Created by cfif on 05.05.23.
|
||||||
|
//
|
||||||
|
#include "SerialPorts.h"
|
||||||
|
#include "at32f435_437.h"
|
||||||
|
|
||||||
|
tSerialPorts SERIAL_PORTS;
|
||||||
|
|
||||||
|
//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.Rs485);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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.Rs485);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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.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),
|
||||||
|
3200, 3200
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
//начало------------------------------------Радиомодуль-----------------------------------------------------------------
|
||||||
|
//начало------------------------------------Радиомодуль-----------------------------------------------------------------
|
||||||
|
//начало------------------------------------Радиомодуль-----------------------------------------------------------------
|
||||||
|
|
||||||
|
//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,
|
||||||
|
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
|
||||||
|
);
|
||||||
|
}
|
||||||
|
//конец--------------------------------------ГНСС-----------------------------------------------------------------------
|
||||||
|
//конец--------------------------------------ГНСС-----------------------------------------------------------------------
|
||||||
|
//конец--------------------------------------ГНСС-----------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
//начало-------------------------------------Модем-----------------------------------------------------------------------
|
||||||
|
//начало-------------------------------------Модем-----------------------------------------------------------------------
|
||||||
|
//начало-------------------------------------Модем-----------------------------------------------------------------------
|
||||||
|
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);
|
||||||
|
|
||||||
|
}
|
||||||
|
//конец---------------------------------Командный интерфейс--------------------------------------------------------------
|
||||||
|
//конец---------------------------------Командный интерфейс--------------------------------------------------------------
|
||||||
|
//конец---------------------------------Командный интерфейс--------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
void SerialPorts_Init(tRs485DirectionPins *directionPins) {
|
||||||
|
tSerialPorts *env = &SERIAL_PORTS;
|
||||||
|
|
||||||
|
vSerialPort_InitUSART3(&env->Rs485);
|
||||||
|
SERIAL_PORTS.Rs485_IO = vSerialPortGetIo(&SERIAL_PORTS.Rs485);
|
||||||
|
|
||||||
|
SERIAL_PORTS.Rs485_HalfDuplex = vSerialPortHalfDuplexInit(&SERIAL_PORTS.Rs485_IO,
|
||||||
|
&directionPins->de);
|
||||||
|
|
||||||
|
SERIAL_PORTS.Rs485_HalfDuplexIo = vSerialPortHalfDuplexGetIo(&SERIAL_PORTS.Rs485_HalfDuplex);
|
||||||
|
|
||||||
|
/*
|
||||||
|
vSerialPort_InitUSART2(&env->PRO04);
|
||||||
|
SERIAL_PORTS.PRO04IO = vSerialPortGetIo(&SERIAL_PORTS.PRO04);
|
||||||
|
SERIAL_PORTS.PRO04_snif_IO = vSerialPortGetSnifferIo(&SERIAL_PORTS.PRO04);
|
||||||
|
|
||||||
|
vSerialPort_InitUSART3(&env->MBEE);
|
||||||
|
SERIAL_PORTS.MBEEIO = vSerialPortGetIo(&SERIAL_PORTS.MBEE);
|
||||||
|
|
||||||
|
vSerialPort_InitUSART1(&env->GSM);
|
||||||
|
SERIAL_PORTS.GSMIO = vSerialPortGetIo(&SERIAL_PORTS.GSM);
|
||||||
|
SERIAL_PORTS.GSM_snif_IO = vSerialPortGetSnifferIo(&SERIAL_PORTS.GSM);
|
||||||
|
|
||||||
|
vSerialPort_InitUSART6(&env->ComInt);
|
||||||
|
SERIAL_PORTS.ComIntIO = vSerialPortGetIo(&SERIAL_PORTS.ComInt);
|
||||||
|
*/
|
||||||
|
SerialPortP2p_Init(&env->cliVirtualPort, 5 * 1024, 1024);
|
||||||
|
env->cliVirtualInIo = SerialPortP2p_GetIoFirst(&env->cliVirtualPort);
|
||||||
|
env->cliVirtualOutIo = SerialPortP2p_GetIoSecond(&env->cliVirtualPort);
|
||||||
|
|
||||||
|
SerialPortUsb_Init(&env->SerialPortUsb, 1024);
|
||||||
|
env->SerialPortUsbIO = SerialPortUsb_GetIo(&env->SerialPortUsb);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,50 @@
|
||||||
|
//
|
||||||
|
// Created by cfif on 05.05.23.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef WATER_BOX_BSD_SERIALPORTS_H
|
||||||
|
#define WATER_BOX_BSD_SERIALPORTS_H
|
||||||
|
|
||||||
|
#include "SerialPortArtery.h"
|
||||||
|
#include "GpioPin.h"
|
||||||
|
#include "SerialPortP2p.h"
|
||||||
|
#include "SerialPort_USB.h"
|
||||||
|
#include "SerialPortHalfDuplexIO.h"
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
tGpioPin de;
|
||||||
|
} tRs485DirectionPins;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
tSerialPortArtery Rs485;
|
||||||
|
tSerialPortIO Rs485_IO;
|
||||||
|
|
||||||
|
tSerialPortHalfDuplex Rs485_HalfDuplex;
|
||||||
|
tSerialPortIO Rs485_HalfDuplexIo;
|
||||||
|
/*
|
||||||
|
tSerialPortArtery PRO04;
|
||||||
|
tSerialPortIO PRO04IO;
|
||||||
|
tSerialPortIO PRO04_snif_IO;
|
||||||
|
|
||||||
|
tSerialPortArtery GSM;
|
||||||
|
tSerialPortIO GSMIO;
|
||||||
|
tSerialPortIO GSM_snif_IO;
|
||||||
|
*/
|
||||||
|
tSerialPortArtery ComInt;
|
||||||
|
tSerialPortIO ComIntIO;
|
||||||
|
|
||||||
|
tSerialPortP2p cliVirtualPort;
|
||||||
|
tSerialPortIO cliVirtualInIo;
|
||||||
|
tSerialPortIO cliVirtualOutIo;
|
||||||
|
|
||||||
|
tSerialPortUsbArtery SerialPortUsb;
|
||||||
|
tSerialPortIO SerialPortUsbIO;
|
||||||
|
|
||||||
|
} tSerialPorts;
|
||||||
|
|
||||||
|
extern tSerialPorts SERIAL_PORTS;
|
||||||
|
|
||||||
|
void SerialPorts_Init(tRs485DirectionPins *directionPins);
|
||||||
|
|
||||||
|
|
||||||
|
#endif //WATER_BOX_BSD_SERIALPORTS_H
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"cmake": {
|
||||||
|
"inc_dirs": [
|
||||||
|
"./"
|
||||||
|
],
|
||||||
|
"srcs": [
|
||||||
|
"./**.c"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue