|
发表于 2021-7-17 13:51:29
|
显示全部楼层
void UART4_RN8209C_AFInit(void)
{
FL_GPIO_InitTypeDef GPIO_InitStruct = {0};
FL_UART_InitTypeDef UART_InitStruct = {0};
// UART1 IO 配置 (UART0是第一路)
//PB13:UART1-RX PB14:UART1-TX
GPIO_InitStruct.pin = FL_GPIO_PIN_2|FL_GPIO_PIN_3; // PB2\PB3 = UART4
GPIO_InitStruct.mode = FL_GPIO_MODE_DIGITAL;
GPIO_InitStruct.outputType = FL_GPIO_OUTPUT_PUSHPULL;
GPIO_InitStruct.pull = FL_ENABLE;
GPIO_InitStruct.remapPin = FL_DISABLE;
FL_GPIO_Init(GPIOB, &GPIO_InitStruct);
// err UART_InitStruct.clockSrc = FL_RCC_GROUP3_BUSCLK_UART4; // UART4 /*??????*/
FL_RCC_EnableGroup3BusClock(FL_RCC_GROUP3_BUSCLK_UART4);
UART_InitStruct.baudRate = 4800; //波特率
UART_InitStruct.dataWidth = FL_UART_DATA_WIDTH_8B; //数据位数
UART_InitStruct.stopBits = FL_UART_STOP_BIT_WIDTH_1B; //停止位
//UART_InitStruct.parity = FL_UART_PARITY_NONE; //奇偶校验
UART_InitStruct.parity = FL_UART_PARITY_EVEN; //奇偶校验
UART_InitStruct.transferDirection = FL_UART_DIRECTION_TX_RX; //接收-发送使能
FL_UART_Init(UART4, &UART_InitStruct); // UART4
// NVIC中断配置
NVIC_DisableIRQ(UART4_IRQn);
NVIC_SetPriority(UART4_IRQn,2); //中断优先级配置
///NVIC_EnableIRQ(UART4_IRQn); // 查询方式
// 补丁解决Rx\Tx管脚交换问题 2021/7/10 12:05:34
FL_UART_EnablePinSwap(UART4);
FL_UART_EnableRX(UART4); //打开接收使能
FL_UART_EnableTX(UART4) ; // 发送使能
// 波特率在别的地方初始化
}
|
|