Обновление
This commit is contained in:
parent
00456e39e7
commit
555caee4c4
|
|
@ -8,57 +8,20 @@ tSerialPorts SERIAL_PORTS;
|
||||||
|
|
||||||
|
|
||||||
uint8_t buf_USART2_TRANSMITTED[256];
|
uint8_t buf_USART2_TRANSMITTED[256];
|
||||||
ALIGN(256) uint8_t buf_USART2_DMA[6];
|
ALIGN(256) uint8_t buf_USART2_DMA[128];
|
||||||
|
|
||||||
//static void DMA_USART2_ErrorCallbackTx() {
|
|
||||||
// while (1) {
|
|
||||||
// __asm("nop");
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
static void DMA_USART2_TransferCompleteCallbackTx() {
|
static void DMA_USART2_TransferCompleteCallbackTx() {
|
||||||
// DMA_StopChannel(DMA_INSTANCE_0, DMA_CHANNEL_6);
|
|
||||||
SerialPort_TxEndTransmitted(SERIAL_PORTS.SerialPortLog_IO.env, 1);
|
SerialPort_TxEndTransmitted(SERIAL_PORTS.SerialPortLog_IO.env, 1);
|
||||||
asm("nop");
|
asm("nop");
|
||||||
}
|
}
|
||||||
|
|
||||||
//static void DMA_USART2_ErrorCallbackRx() {
|
|
||||||
// while (1) {
|
|
||||||
// __asm("nop");
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
static void DMA_USART2_TransferCompleteCallbackRx() {
|
static void DMA_USART2_TransferCompleteCallbackRx() {
|
||||||
++SERIAL_PORTS.SerialPortLog.UART_DMA_RECEIVED_LEN_BUF;
|
SerialPort_RxDmaBufToQueue(SERIAL_PORTS.SerialPortLog_IO.env, true,buf_USART2_DMA);
|
||||||
|
|
||||||
// SerialPort_RxDmaBufToQueue(SERIAL_PORTS.SerialPortLog_IO.env, buf_USART2_DMA);
|
|
||||||
|
|
||||||
SerialPortTransmit(&SERIAL_PORTS.cliVirtualPortIn_Io,
|
|
||||||
(uint8_t *) &buf_USART2_DMA[SERIAL_PORTS.SerialPortLog.UART_DMA_RECEIVED_POINTER_BUF],
|
|
||||||
SERIAL_PORTS.SerialPortLog.UART_DMA_RECEIVED_LEN_BUF, 0);
|
|
||||||
SERIAL_PORTS.SerialPortLog.UART_DMA_RECEIVED_POINTER_BUF += SERIAL_PORTS.SerialPortLog.UART_DMA_RECEIVED_LEN_BUF;
|
|
||||||
SERIAL_PORTS.SerialPortLog.UART_DMA_RECEIVED_LEN_BUF = 0;
|
|
||||||
if (SERIAL_PORTS.SerialPortLog.UART_DMA_RECEIVED_POINTER_BUF >= SERIAL_PORTS.SerialPortLog.DMA_BUF_LEN)
|
|
||||||
SERIAL_PORTS.SerialPortLog.UART_DMA_RECEIVED_POINTER_BUF = 0;
|
|
||||||
|
|
||||||
// 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) {
|
static void FCUART_IldeInterrupt_CallBack(uint8_t u8UartIndex) {
|
||||||
|
SerialPort_RxDmaBufToQueue(SERIAL_PORTS.SerialPortLog_IO.env, false,buf_USART2_DMA);
|
||||||
SerialPort_RxDmaBufToQueue(SERIAL_PORTS.SerialPortLog_IO.env, buf_USART2_DMA);
|
|
||||||
|
|
||||||
SerialPortTransmit(&SERIAL_PORTS.cliVirtualPortIn_Io,
|
|
||||||
(uint8_t *) &buf_USART2_DMA[SERIAL_PORTS.SerialPortLog.UART_DMA_RECEIVED_POINTER_BUF],
|
|
||||||
SERIAL_PORTS.SerialPortLog.UART_DMA_RECEIVED_LEN_BUF, 0);
|
|
||||||
SERIAL_PORTS.SerialPortLog.UART_DMA_RECEIVED_POINTER_BUF += SERIAL_PORTS.SerialPortLog.UART_DMA_RECEIVED_LEN_BUF;
|
|
||||||
SERIAL_PORTS.SerialPortLog.UART_DMA_RECEIVED_LEN_BUF = 0;
|
|
||||||
if (SERIAL_PORTS.SerialPortLog.UART_DMA_RECEIVED_POINTER_BUF >= SERIAL_PORTS.SerialPortLog.DMA_BUF_LEN)
|
|
||||||
SERIAL_PORTS.SerialPortLog.UART_DMA_RECEIVED_POINTER_BUF = 0;
|
|
||||||
|
|
||||||
// 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)
|
PROCESS_UNUSED_VAR(u8UartIndex)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -115,7 +78,7 @@ static void vSerialPort_InitUSART2(tSerialPortFlagchip *env) {
|
||||||
env,
|
env,
|
||||||
|
|
||||||
FCUART2,
|
FCUART2,
|
||||||
2000000,//115200,
|
921600,//115200,
|
||||||
|
|
||||||
2, // UART0 = 0 ... UART7 = 7
|
2, // UART0 = 0 ... UART7 = 7
|
||||||
FCUART2_IRQn, // FCUART0_IRQn ... FCUART7_IRQn
|
FCUART2_IRQn, // FCUART0_IRQn ... FCUART7_IRQn
|
||||||
|
|
@ -142,7 +105,7 @@ static void vSerialPort_InitUSART2(tSerialPortFlagchip *env) {
|
||||||
|
|
||||||
|
|
||||||
1024,
|
1024,
|
||||||
0,
|
1024,
|
||||||
|
|
||||||
DMA_USART2_TransferCompleteCallbackRx,
|
DMA_USART2_TransferCompleteCallbackRx,
|
||||||
NULL,
|
NULL,
|
||||||
|
|
@ -162,7 +125,6 @@ static void vSerialPort_InitUSART2(tSerialPortFlagchip *env) {
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
///конец------------------------------------------Модем-----------------------------------------------------------------
|
|
||||||
|
|
||||||
void SerialPorts_Init() {
|
void SerialPorts_Init() {
|
||||||
|
|
||||||
|
|
@ -173,8 +135,8 @@ void SerialPorts_Init() {
|
||||||
SerialPortVirt_Init(&env->cliVirtualPortOut, 4096);
|
SerialPortVirt_Init(&env->cliVirtualPortOut, 4096);
|
||||||
env->cliVirtualPortOut_Io = SerialPortVirt_GetIo(&env->cliVirtualPortOut);
|
env->cliVirtualPortOut_Io = SerialPortVirt_GetIo(&env->cliVirtualPortOut);
|
||||||
|
|
||||||
SerialPortVirt_Init(&env->cliVirtualPortIn, 128);
|
// SerialPortVirt_Init(&env->cliVirtualPortIn, 128);
|
||||||
env->cliVirtualPortIn_Io = SerialPortVirt_GetIo(&env->cliVirtualPortIn);
|
// env->cliVirtualPortIn_Io = SerialPortVirt_GetIo(&env->cliVirtualPortIn);
|
||||||
|
|
||||||
// SerialPortP2p_Init(&env->cliVirtualPort, 4 * 1024, 1024);
|
// SerialPortP2p_Init(&env->cliVirtualPort, 4 * 1024, 1024);
|
||||||
// env->cliVirtualInIo = SerialPortP2p_GetIoFirst(&env->cliVirtualPort);
|
// env->cliVirtualInIo = SerialPortP2p_GetIoFirst(&env->cliVirtualPort);
|
||||||
|
|
@ -182,6 +144,7 @@ void SerialPorts_Init() {
|
||||||
|
|
||||||
vSerialPort_InitUSART2(&env->SerialPortLog);
|
vSerialPort_InitUSART2(&env->SerialPortLog);
|
||||||
SERIAL_PORTS.SerialPortLog_IO = vSerialPortGetIo(&env->SerialPortLog);
|
SERIAL_PORTS.SerialPortLog_IO = vSerialPortGetIo(&env->SerialPortLog);
|
||||||
|
SERIAL_PORTS.SerialPortLog_Sniffer_IO = vSerialPortGetSnifferIo(&env->SerialPortLog);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,13 +11,12 @@
|
||||||
typedef struct {
|
typedef struct {
|
||||||
tSerialPortFlagchip SerialPortLog;
|
tSerialPortFlagchip SerialPortLog;
|
||||||
tSerialPortIO SerialPortLog_IO;
|
tSerialPortIO SerialPortLog_IO;
|
||||||
|
tSerialPortIO SerialPortLog_Sniffer_IO;
|
||||||
|
|
||||||
|
|
||||||
tSerialPortVirt cliVirtualPortOut;
|
tSerialPortVirt cliVirtualPortOut;
|
||||||
tSerialPortIO cliVirtualPortOut_Io;
|
tSerialPortIO cliVirtualPortOut_Io;
|
||||||
|
|
||||||
tSerialPortVirt cliVirtualPortIn;
|
|
||||||
tSerialPortIO cliVirtualPortIn_Io;
|
|
||||||
|
|
||||||
} tSerialPorts;
|
} tSerialPorts;
|
||||||
|
|
||||||
extern tSerialPorts SERIAL_PORTS;
|
extern tSerialPorts SERIAL_PORTS;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue