Обновление
This commit is contained in:
parent
8c53e3ed20
commit
8eb16a328d
|
|
@ -18,22 +18,22 @@ static void DMA_USART2_ErrorCallback() {
|
|||
}
|
||||
|
||||
static void DMA_USART2_TransferCompleteCallback() {
|
||||
++SERIAL_PORTS.Lin.UART_DMA_RECEIVED_LEN_BUF;
|
||||
++SERIAL_PORTS.SerialPortLog.UART_DMA_RECEIVED_LEN_BUF;
|
||||
|
||||
if (SERIAL_PORTS.Lin.UART_DMA_RECEIVED_LEN_BUF >= SERIAL_PORTS.Lin.DMA_BUF_LEN) {
|
||||
if (SERIAL_PORTS.SerialPortLog.UART_DMA_RECEIVED_LEN_BUF >= SERIAL_PORTS.SerialPortLog.DMA_BUF_LEN) {
|
||||
|
||||
SerialPort_RxDmaBufToQueue(&SERIAL_PORTS.Lin, buf_USART2_DMA);
|
||||
SerialPort_RxDmaBufToQueue(&SERIAL_PORTS.SerialPortLog, buf_USART2_DMA);
|
||||
|
||||
DMA_ModifyAddress(DMA_INSTANCE_0, SERIAL_PORTS.Lin.RX_DMA_CHANNEL, &(SERIAL_PORTS.Lin.UART->DATA),
|
||||
DMA_ModifyAddress(DMA_INSTANCE_0, SERIAL_PORTS.SerialPortLog.RX_DMA_CHANNEL, &(SERIAL_PORTS.SerialPortLog.UART->DATA),
|
||||
(void *) ((uint32_t) (buf_USART2_DMA)));
|
||||
}
|
||||
}
|
||||
|
||||
static void FCUART_IldeInterrupt_CallBack(uint8_t u8UartIndex) {
|
||||
|
||||
SerialPort_RxDmaBufToQueue(&SERIAL_PORTS.Lin, buf_USART2_DMA);
|
||||
SerialPort_RxDmaBufToQueue(&SERIAL_PORTS.SerialPortLog, buf_USART2_DMA);
|
||||
|
||||
DMA_ModifyAddress(DMA_INSTANCE_0, SERIAL_PORTS.Lin.RX_DMA_CHANNEL, &(SERIAL_PORTS.Lin.UART->DATA), (void *)((uint32_t)(buf_USART2_DMA)));
|
||||
DMA_ModifyAddress(DMA_INSTANCE_0, SERIAL_PORTS.SerialPortLog.RX_DMA_CHANNEL, &(SERIAL_PORTS.SerialPortLog.UART->DATA), (void *)((uint32_t)(buf_USART2_DMA)));
|
||||
|
||||
PROCESS_UNUSED_VAR(u8UartIndex)
|
||||
}
|
||||
|
|
@ -54,7 +54,7 @@ static void FCUART_TxCompleteInterrupt_CallBack(uint8_t u8UartIndex, FCUART_Data
|
|||
}
|
||||
|
||||
void FCUART2_RxTx_IRQHandler(void) {
|
||||
FCUARTN_RxTx_IRQHandler(SERIAL_PORTS.Lin.UART_INDEX);
|
||||
FCUARTN_RxTx_IRQHandler(SERIAL_PORTS.SerialPortLog.UART_INDEX);
|
||||
}
|
||||
|
||||
// Настройка порта
|
||||
|
|
@ -124,8 +124,8 @@ void SerialPorts_Init() {
|
|||
|
||||
tSerialPorts *env = &SERIAL_PORTS;
|
||||
|
||||
vSerialPort_InitUSART2(&env->Lin);
|
||||
SERIAL_PORTS.Lin_IO = vSerialPortGetIo(&env->Lin);
|
||||
vSerialPort_InitUSART2(&env->SerialPortLog);
|
||||
SERIAL_PORTS.SerialPortLog_IO = vSerialPortGetIo(&env->SerialPortLog);
|
||||
|
||||
//// Виртуальный сериал порт
|
||||
SerialPortP2p_Init(&env->cliVirtualPort, 3 * 1024, 1024);
|
||||
|
|
|
|||
|
|
@ -9,9 +9,9 @@
|
|||
#include "SerialPortP2p.h"
|
||||
|
||||
typedef struct {
|
||||
tSerialPortFlagchip Lin;
|
||||
tSerialPortIO Lin_IO;
|
||||
tSerialPortIO Lin_snif_IO;
|
||||
tSerialPortFlagchip SerialPortLog;
|
||||
tSerialPortIO SerialPortLog_IO;
|
||||
|
||||
|
||||
tSerialPortP2p cliVirtualPort;
|
||||
tSerialPortIO cliVirtualInIo;
|
||||
|
|
|
|||
Loading…
Reference in New Issue