串口程序 调试助手显示是乱码 为啥

2019-07-21 00:52发布

为什么乱码
程序如下
#include "stm32f4xx.h"
#include "delay.h"
#include "usart.h"
void My_Usart_Init()
{
 GPIO_InitTypeDef GPIO_InitStructure;
 USART_InitTypeDef USART_InitStructure;
 NVIC_InitTypeDef NVIC_InitStructure;
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);
 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);//?®????GPIO?????±??????
 
 GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_USART1);
 GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_USART1);  //???????????è??
 
 
 GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9|GPIO_Pin_10;   //?è??GPIO??????????
 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF;
 GPIO_InitStructure.GPIO_OType=GPIO_OType_PP;
 GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;
 GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
 GPIO_Init(GPIOA,&GPIO_InitStructure);
 
 USART_InitStructure.USART_BaudRate=115200;         //????usart?®????????????????
 USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;
 USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;
 USART_InitStructure.USART_Parity=USART_Parity_No;
 USART_InitStructure.USART_StopBits=USART_StopBits_1;
 USART_InitStructure.USART_WordLength=USART_WordLength_8b;
 
 USART_Init(USART1,&USART_InitStructure);
 USART_Cmd(USART1,ENABLE); 
 
  USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
 
 NVIC_InitStructure.NVIC_IRQChannel=USART1_IRQn;
 NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;
 NVIC_InitStructure.NVIC_IRQChannelSubPriority=1;
 NVIC_Init(&NVIC_InitStructure);
 
}
void USART1_IRQHandler (void)
{
 u8 res;
 if(USART_GetITStatus(USART1,USART_IT_RXNE))
{
 res=USART_ReceiveData(USART1);
 USART_SendData(USART1,res);
}


}
int main(void)
{  
 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
 My_Usart_Init();
 while(1)
 {
   
 }
}







友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。