Начало
This commit is contained in:
parent
58886f8871
commit
2a1d610250
|
|
@ -6,48 +6,24 @@
|
||||||
|
|
||||||
tSerialPorts SERIAL_PORTS;
|
tSerialPorts SERIAL_PORTS;
|
||||||
|
|
||||||
//void USART3_IRQHandler() {
|
|
||||||
// vSerialPortIrqProcessing(&SERIAL_PORTS.GONEC1);
|
|
||||||
//}
|
|
||||||
|
|
||||||
uint8_t buf_USART3_DMA[3200];
|
uint8_t buf_USART3_DMA[3200];
|
||||||
|
|
||||||
// IDLE прерывание
|
// IDLE прерывание
|
||||||
void USART3_IRQHandler() {
|
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);
|
SerialPort_IrqProcessing_UartIdle(&SERIAL_PORTS.Rs485);
|
||||||
}
|
}
|
||||||
|
|
||||||
// RX
|
// RX
|
||||||
void DMA1_Channel3_IRQHandler(void) {
|
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);
|
SerialPort_IrqProcessing_DmaRxLoop(&SERIAL_PORTS.Rs485);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TX
|
// TX
|
||||||
void DMA1_Channel4_IRQHandler(void) {
|
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);
|
SerialPort_IrqProcessing_DmaTx(&SERIAL_PORTS.Rs485);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Настройка порта радиомодуля
|
// Настройка порта
|
||||||
static void vSerialPort_InitUSART3(tSerialPortArtery *env) {
|
static void vSerialPort_InitUSART3(tSerialPortArtery *env) {
|
||||||
|
|
||||||
gpio_init_type GPIO_InitStruct;
|
gpio_init_type GPIO_InitStruct;
|
||||||
|
|
@ -74,6 +50,70 @@ static void vSerialPort_InitUSART3(tSerialPortArtery *env) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
uint8_t buf_USART5_DMA[3200];
|
||||||
|
|
||||||
|
// IDLE прерывание
|
||||||
|
void UART5_IRQHandler() {
|
||||||
|
SerialPort_IrqProcessing_UartIdle(&SERIAL_PORTS.Rs232);
|
||||||
|
}
|
||||||
|
|
||||||
|
// RX
|
||||||
|
void DMA1_Channel5_IRQHandler(void) {
|
||||||
|
SerialPort_IrqProcessing_DmaRxLoop(&SERIAL_PORTS.Rs232);
|
||||||
|
}
|
||||||
|
|
||||||
|
// TX
|
||||||
|
void DMA1_Channel6_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, 115200,
|
||||||
|
1, 5, 1, 6,
|
||||||
|
false, 0xFF,
|
||||||
|
buf_USART5_DMA, sizeof(buf_USART5_DMA),
|
||||||
|
3200, 3200
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
//начало------------------------------------Радиомодуль-----------------------------------------------------------------
|
//начало------------------------------------Радиомодуль-----------------------------------------------------------------
|
||||||
//начало------------------------------------Радиомодуль-----------------------------------------------------------------
|
//начало------------------------------------Радиомодуль-----------------------------------------------------------------
|
||||||
|
|
@ -437,6 +477,12 @@ void SerialPorts_Init(tRs485DirectionPins *directionPins) {
|
||||||
|
|
||||||
SERIAL_PORTS.Rs485_HalfDuplexIo = vSerialPortHalfDuplexGetIo(&SERIAL_PORTS.Rs485_HalfDuplex);
|
SERIAL_PORTS.Rs485_HalfDuplexIo = vSerialPortHalfDuplexGetIo(&SERIAL_PORTS.Rs485_HalfDuplex);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
vSerialPort_InitUSART5(&env->Rs232);
|
||||||
|
SERIAL_PORTS.Rs232_IO = vSerialPortGetIo(&SERIAL_PORTS.Rs232);
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
vSerialPort_InitUSART2(&env->PRO04);
|
vSerialPort_InitUSART2(&env->PRO04);
|
||||||
SERIAL_PORTS.PRO04IO = vSerialPortGetIo(&SERIAL_PORTS.PRO04);
|
SERIAL_PORTS.PRO04IO = vSerialPortGetIo(&SERIAL_PORTS.PRO04);
|
||||||
|
|
|
||||||
|
|
@ -18,10 +18,14 @@ typedef struct {
|
||||||
typedef struct {
|
typedef struct {
|
||||||
tSerialPortArtery Rs485;
|
tSerialPortArtery Rs485;
|
||||||
tSerialPortIO Rs485_IO;
|
tSerialPortIO Rs485_IO;
|
||||||
|
|
||||||
tSerialPortHalfDuplex Rs485_HalfDuplex;
|
tSerialPortHalfDuplex Rs485_HalfDuplex;
|
||||||
tSerialPortIO Rs485_HalfDuplexIo;
|
tSerialPortIO Rs485_HalfDuplexIo;
|
||||||
/*
|
|
||||||
|
tSerialPortArtery Rs232;
|
||||||
|
tSerialPortIO Rs232_IO;
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
tSerialPortArtery PRO04;
|
tSerialPortArtery PRO04;
|
||||||
tSerialPortIO PRO04IO;
|
tSerialPortIO PRO04IO;
|
||||||
tSerialPortIO PRO04_snif_IO;
|
tSerialPortIO PRO04_snif_IO;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue