STM32F030 R8T6 USART2通信数据不对

2019-07-14 14:00发布

数据手册上看.STM32F030R8T6 的PA2 PA3端口 是可以使用usart2的.

  1. GPIO_InitTypeDef GPIO_InitStruct;
  2.   USART_InitTypeDef USART_InitStruct;        
  3.         NVIC_InitTypeDef NVIC_InitStructure;
  4.              //ʱÖÓÅäÖÃ
  5.         RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
  6.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);  
  7.                  //gpioÅäÖÃ

  8.   GPIO_PinAFConfig(GPIOA, GPIO_PinSource2, GPIO_AF_1);
  9.   GPIO_PinAFConfig(GPIOA, GPIO_PinSource3, GPIO_AF_1);
  10.         
  11.                 /* Configure USART Tx as alternate function push-pull */
  12.   GPIO_InitStruct.GPIO_Pin = GPIO_Pin_2;        
  13.   GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF;
  14.   GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
  15.   GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
  16.         GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;
  17.   GPIO_Init(GPIOA, &GPIO_InitStruct);
  18.    
  19.   /* Configure USART Rx as alternate function push-pull */
  20.   GPIO_InitStruct.GPIO_Pin = GPIO_Pin_3;
  21.         GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF;
  22.   GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
  23.   GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
  24.         GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_UP;
  25.   GPIO_Init(GPIOA, &GPIO_InitStruct);
  26.         
  27.         
  28.                
  29.                 //´®¿ÚģʽÅäÖÃ
  30.         USART_InitStruct.USART_BaudRate =115200;
  31.         USART_InitStruct.USART_WordLength = USART_WordLength_8b;
  32.         USART_InitStruct.USART_StopBits = USART_StopBits_1;
  33.         USART_InitStruct.USART_Parity = USART_Parity_No ;
  34.         USART_InitStruct.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  35.         USART_InitStruct.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
  36.         USART_Init(USART2, &USART_InitStruct);
  37.         
  38.         USART_Cmd(USART2, ENABLE);
  39.         USART_ITConfig(USART2,USART_IT_RXNE,ENABLE);
  40.                
  41.         NVIC_InitStructure.NVIC_IRQChannel=USART2_IRQn;
  42.         NVIC_InitStructure.NVIC_IRQChannelPriority = 0;   
  43.         NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
  44.         NVIC_Init(&NVIC_InitStructure);
  45. //        NVIC_Config(USART2_IRQn);
复制代码发送使用的 USART_SendData(USART2, data);  不是printf;

可以发送也能接受进入中断.但是数据都不对.
我给电脑发送0XAA 接受的是F9  发送0x01 接受的是E0

电脑给芯片发送0xdd 接受的是FB?

何解啊...哪里的问题?

微信图片_20190225144952.png
微信图片_20190225145036.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。