初级会员

- 积分
- 51
- 金钱
- 51
- 注册时间
- 2015-6-12
- 在线时间
- 0 小时
|
5金钱
小弟现在遇到一个问题,使用的是STM32F042K6芯片,串口配置中 只使能了 接收中断RXNE,可是每次 发送一个数 ,串口就会自动收到了一个0x7F,而进入接收中断,发送是直接发没有使能中断。请问下各位 这种情况一般是什么原因造成的,是Rx,Tx 硬件设计上有问题,短路或是怎么的原因吗。每次发送一个数 就会收到一个0x7f的杂数 而进入接收中断,串口初始化的代码如下所示,参考的是官方例程。
__HAL_RCC_USART1_CLK_ENABLE();
__HAL_RCC_GPIOA_CLK_ENABLE();
/*配置GPIOA 引脚9 USART Tx*/
GPIO_InitStructure.Pin = GPIO_PIN_9;
GPIO_InitStructure.Speed = GPIO_SPEED_MEDIUM;
GPIO_InitStructure.Mode = GPIO_MODE_AF_PP;
GPIO_InitStructure.Pull = GPIO_PULLUP;
GPIO_InitStructure.Alternate = GPIO_AF1_USART1;
HAL_GPIO_Init(GPIOA,&GPIO_InitStructure);
/*配置GPIOA 引脚10 USART Rx*/
GPIO_InitStructure.Pin = GPIO_PIN_10;
GPIO_InitStructure.Mode = GPIO_MODE_AF_PP;
GPIO_InitStructure.Pull = GPIO_PULLUP;
GPIO_InitStructure.Alternate = GPIO_AF1_USART1;
HAL_GPIO_Init(GPIOA,&GPIO_InitStructure);
USART_InitStructure.Instance = USART1;
HAL_USART_DeInit(&USART_InitStructure);
USART_InitStructure.Init.BaudRate = uBaud;
USART_InitStructure.Init.WordLength = USART_WORDLENGTH_8B;
USART_InitStructure.Init.StopBits = USART_STOPBITS_1;
USART_InitStructure.Init.Parity = USART_PARITY_NONE;
USART_InitStructure.Init.Mode = USART_MODE_TX_RX;
HAL_USART_Init(&USART_InitStructure);
/*配置串口接受中断*/
// HAL_USART_Receive_IT(&USART_InitStructure,convBrideStruct.usartBuf->uRxFirstBufStruct->data,1);
__HAL_USART_ENABLE_IT(&USART_InitStructure, USART_IT_RXNE);
/*配置NVIC USART 中断*/
HAL_NVIC_SetPriority(USART1_IRQn,3,0);
HAL_NVIC_EnableIRQ(USART1_IRQn);
|
|