在初始化串口的时候,需要调用下面的函数:
emberSerialInit(HAL_SERIAL_PORT_USART1, SERIALRATE, PARITY_NONE, 1);
其中测串口参数选择为HAL_SERIAL_PORT_USART1。
第二步:
将RX设置为中断引脚,如下图所示;
第三步:
在COM_InternalPowerDown中调用rxGpioIntEnable;
在rxGpioIntEnable中需要增加对应串口的RX中断使能;
static void rxGpioIntEnable(void)
{
#ifdef CORTEXM3_EFM32_MICRO
GPIO_IntClear(1 << UART_RX_INT_PIN);
GPIO_IntEnable(1 << UART_RX_INT_PIN);
GPIO_IntClear(1<<PORTIO_USART1_RX_PIN);//tesla add
GPIO_IntEnable(1 << PORTIO_USART1_RX_PIN);//tesla add
#endif
}
void COM_RxGpioWakeInit(void)
{
#if HAL_SERIAL_RXWAKE_ENABLE
GPIO_ExtIntConfig(UART_RX_INT_PORT, UART_RX_INT_PIN, UART_RX_INT_PIN, false, true, false);
GPIO_ExtIntConfig(gpioPortB, 12, 12, false, true, false);// tesla add for uart
#endif
}