stm32f4的串口发送和接收的数据不一样

2019-07-21 03:46发布

#include "stm32f4xx.h" int main(void) { GPIO_InitTypeDef GPIO_initure; USART_InitTypeDef USART_initure; NVIC_InitTypeDef NVIC_initure; USART_DeInit(USART1); RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE); GPIO_initure.GPIO_Pin=GPIO_Pin_9; GPIO_initure.GPIO_Mode = GPIO_Mode_AF; GPIO_initure.GPIO_OType=GPIO_OType_PP; GPIO_Init(GPIOA,&GPIO_initure); GPIO_initure.GPIO_Pin=GPIO_Pin_10; GPIO_initure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_initure.GPIO_Mode = GPIO_Mode_IN; GPIO_initure.GPIO_PuPd=GPIO_PuPd_UP; GPIO_Init(GPIOA,&GPIO_initure); USART_initure.USART_BaudRate=115200; USART_initure.USART_WordLength=USART_WordLength_8b; USART_initure.USART_StopBits=USART_StopBits_1; USART_initure.USART_Parity=USART_Parity_No; USART_initure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx; USART_initure.USART_HardwareFlowControl=USART_HardwareFlowControl_None; USART_Init(USART1, &USART_initure); USART_Cmd(USART1, ENABLE); NVIC_initure.NVIC_IRQChannel=USART1_IRQn; NVIC_initure.NVIC_IRQChannelPreemptionPriority=3; NVIC_initure.NVIC_IRQChannelSubPriority=3; NVIC_initure.NVIC_IRQChannelCmd=ENABLE; NVIC_Init(&NVIC_initure); USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); while(1) { } } void USART1_IRQHandler(void)                 { u16 Res; if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)   { Res =USART_ReceiveData(USART1);//(USART1->DR); USART_SendData(USART1,Res);     }  } 
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
a369472818
1楼-- · 2019-07-21 08:48
求顶啊
八度空间
2楼-- · 2019-07-21 11:47
回复【2楼】a369472818:
---------------------------------
回环测试试过没?你串口软件上面的波特率和你软件里面设置的是不是相符的
a369472818
3楼-- · 2019-07-21 12:34
 精彩回答 2  元偷偷看……
正点原子
4楼-- · 2019-07-21 16:25
慢慢查,呵呵.
正点原子
5楼-- · 2019-07-21 17:12
先看单独发送数据对不对...
a369472818
6楼-- · 2019-07-21 18:46
回复【6楼】正点原子:
---------------------------------
怎么测试,是通过液晶显示还是怎样

一周热门 更多>