void UART1_INI(void)
{
edma_state_t state;
uart_edma_state_t uartStateEdma;
edma_user_config_t userConfig = {
.chnArbitration = kEDMAChnArbitrationRoundrobin,
.notHaltOnError = false
};
uart_edma_user_config_t uartConfig = {
.bitCountPerChar = kUart8BitsPerChar,
.parityMode = kUartParityDisabled,
.stopBitCount = kUartOneStopBit,
.baudRate = UART1_BAUD
};
EDMA_DRV_Init(&state, &userConfig);
UART_DRV_EdmaInit(1, &uartStateEdma, &uartConfig);
}
int main(void)
{
uint32_t byteCountBuff;
hardware_init();
NVIC_SetPriorityGrouping(4);
GPIO_DRV_ClearPinOutput(kGpioLED1); //测试用例
GPIO_DRV_SetPinOutput(kGpioLED1); //测试用例
GPIO_DRV_ClearPinOutput(kGpioLED2); //测试用例
GPIO_DRV_SetPinOutput(kGpioLED2);//测试用例
UART1_INI();
while(1)
{
UART_DRV_EdmaReceiveData(1,buffStart,byteCountBuff);
UART_DRV_EdmaSendData(1, buffStart, byteCountBuff);
}
}
如果把UART1_INI中的内容移植到main里面程序运行OK,但是放到UART1_INI中运行就不正常。
|