用错宏了,哎
移植官方STM32虚拟串口程序,串口通信死在
while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);
仿真发现USART1时钟味使能。。。
使能时钟后仿真,USART1寄存器有反应,发送数据是仍死在
while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);
上网寻找答案无果。怀疑引脚未配置造成。
配置
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
/* Configure USB pull-up pin */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOA, &GPIO_InitStructure);
故障依旧
检查发现忘记
USART_Cmd(USART1, ENABLE);
了。。
加上就OK