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