初级会员

- 积分
- 60
- 金钱
- 60
- 注册时间
- 2019-4-30
- 在线时间
- 14 小时
|
1金钱
最近闲着没事淘了一块STM32F103C8T6的开发板,试着学习一下串口,串口1 收发都没问题,串口3 问题来了,用SWD下载,每次刚下载完成,串口调试助手,能收到2次数据,间隔很短,然后就再也收不到数据了,请问大佬们 这是怎么回事?下面是串口3的配置。
void My_USART3_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure; //声明一个结构体变量,用来初始化GPIO
USART_InitTypeDef USART_InitStructure; //声明一个结构体变量,用来初始化USART
NVIC_InitTypeDef NVIC_InitStructure; //声明一个结构体变量,用来初始化NVIC
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能UART3所在GPIOB的时钟
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE); //使能UART3所在GPIOB的时钟
//RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO , ENABLE);
//GPIO_PinRemapConfig(GPIO_FullRemap_USART3, ENABLE);
//USART3_TX GPIOB.10
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
//USART3_RX GPIOB.11
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOB, &GPIO_InitStructure);
//Usart3 NVIC 配置
//NVIC_PriorityGroupConfig(NVIC_PriorityGroup_3);
NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
//配置串口
USART_InitStructure.USART_BaudRate = 9600;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
USART_Init(USART3, &USART_InitStructure);//初始化串口3
USART_ITConfig(USART3,USART_IT_RXNE,ENABLE);
USART_Cmd(USART3, ENABLE);//使能串口3
//USART_ClearFlag(USART3, USART_FLAG_TXE);
}
|
|