From 83597914a6e1d20b69e54ff00720bcf7b455c1b7 Mon Sep 17 00:00:00 2001 From: zhaohe <1013909206@qq.com> Date: Thu, 11 Aug 2022 09:32:34 +0800 Subject: [PATCH] update --- APP/port.c | 45 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/APP/port.c b/APP/port.c index de62a4e..b3ba123 100644 --- a/APP/port.c +++ b/APP/port.c @@ -155,10 +155,53 @@ uint32_t adc_get_value(ADC_TYPE_CHS adc_ch) { /*********************************************************************************************************************** * =======================================================UART======================================================== * ***********************************************************************************************************************/ - // 1、keil勾选Use MicroLIB 2、IAR/keil #define __PRINTF_USE_UART0__ +void uart0_init(void) { + /** + * @brief 配置串口0的波特率为115200 + * 时钟为系统时钟 Fpclk 为系统时钟频率 + */ + GPIO_InitSettingType InitSet; + InitSet.Dir = GPIO_Direction_Output; + InitSet.DS = GPIO_DS_Output_Strong; + InitSet.Func = GPIO_Reuse_Func2; + InitSet.ODE = GPIO_ODE_Output_Disable; + InitSet.PDE = GPIO_PDE_Input_Disable; + InitSet.PUE = GPIO_PUE_Input_Enable; + InitSet.Signal = GPIO_Pin_Signal_Digital; + GPIO_Init(UART0_TXD0_PIN, &InitSet); + + InitSet.Dir = GPIO_Direction_Input; + InitSet.DS = GPIO_DS_Output_Strong; + InitSet.Func = GPIO_Reuse_Func2; + InitSet.ODE = GPIO_ODE_Output_Disable; + InitSet.PDE = GPIO_PDE_Input_Disable; + InitSet.PUE = GPIO_PUE_Input_Disable; + InitSet.Signal = GPIO_Pin_Signal_Digital; + GPIO_Init(UART0_RXD0_PIN, &InitSet); + + UART_InitStruType UART_InitStruct; + UART_InitStruct.UART_BaudRate = 115200; //波特率 + UART_InitStruct.UART_ClockSet = UART_Clock_1; //时钟选择不分频 + UART_InitStruct.UART_RxMode = UART_DataMode_8; // 8数据位无奇偶校验位 + //标准极性端口数据和传输数据相同 + UART_InitStruct.UART_RxPolar = UART_Polar_Normal; + UART_InitStruct.UART_StopBits = UART_StopBits_1; //一个停止位 + UART_InitStruct.UART_TxMode = UART_DataMode_8; // 8数据位无奇偶校验位 + UART_InitStruct.UART_TxPolar = UART_Polar_Normal; //标准usart极性 + UART_Init(UART0, &UART_InitStruct); + UART_ITConfig(UART0, UART_IT_RB, Enable); /* UART0接收中断使能 */ + /* UART0发送缓冲区空中断模式: 全空中断 */ + UART_TBIMConfig(UART0, UART_TBIM_Byte); + UART_ClearITPendingBit(UART0, UART_FLAG_TB); + UART_ClearITPendingBit(UART0, UART_FLAG_RB); + UART_ClearITPendingBit(UART0, UART_FLAG_FE); + NVIC_Init(NVIC_UART0_IRQn, NVIC_Priority_1, Enable); //使能串口0中断 + UART0_TxEnable(); + UART0_RxEnable(); +} /*********************************************************************************************************************** * =======================================================PORT-GPIO======================================================== *