串口可以发送数据但是无法接收数据的一种解决方案

串口可以发送数据但是无法接收数据的一种解决方案

端口配置问题,一般我们的RX配置方法可能不是通用的
我们端口配置的时候一般是这样的模式(相对于ST系列):

	//USART1_TX	  GPIOA.9初始化
 	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA.9
 	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;	//复用推挽输出
  	GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.9
   
  	//USART1_RX	  GPIOA.10初始化
  	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA10
  	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入
  	GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.10 
  	

对于AT(雅特力F421)系列的单片机我们可以把
PIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING
更换为复用
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_Pull = GPIO_Pull_NOPULL;
这样就可以接收到数据了


版权声明:本文为h3837012428原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。