stm32串口调试问题

2019-07-16 09:21发布

串口中断服务函数void  USART1_IQRHandler(void)
{
   if(USART_GetiTStatus(USART1,USART_IT_RXNE)!=RESET)
{
    GPIO_SetBits(GPIOA,GPIO_Pin_0);
     USART_ClearITPendingBit(USART1,USART_IT_RXNE);
  }
}
主函数
int   main(void)
{
  NVIC_Configuration();
     USART1_Config();
    while(1);
}
配值函数
USART_InitStructure.USART_BaudRate =9600;   
     USART_InitStructure.USART_WordLength = USART_WordLength_8b;   
     USART_InitStructure.USART_StopBits = USART_StopBits_1;   
     USART_InitStructure.USART_Parity = USART_Parity_No ;   
     USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;   
     USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
     
     USART_Init(USART1, &USART_InitStructure);   //填充完结构体,调用库函数USART_Init()向寄存器写入配置参数。   
     USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);//开接收中断
  USART_Cmd(USART1, ENABLE);
为什么我一开串口调试工具灯就灭了,我还没发数据灯就没了,而且一打开串口灯又亮了pa1.0 不知道咋回事
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
zoudejileE
1楼-- · 2019-07-16 10:51
有可能是你的串口调试软件的问题啊,打开软件他就发送了一个数据,纯属猜测

评分

参与人数 1威望 +10 收起 理由 zhou2sheng + 10 感谢您的参与,有奖问答活动每周一期,继续.

查看全部评分

幻辰
2楼-- · 2019-07-16 13:05
串口配置应该没问题  
看看程序的其他地方有没有使用p1.0口的led灯的,看看原理图led是高电平亮还是低电平亮,在中断里翻转led状态,。。。。
hwh123
3楼-- · 2019-07-16 16:23
 精彩回答 2  元偷偷看……
hwh123
4楼-- · 2019-07-16 20:46
如上,你有没有开串口的时钟,有没有去设置你串口的TX、RX的引脚的输入或输出的类型呢
woodmice
5楼-- · 2019-07-17 01:48
'一开串口调试工具灯就灭了,我还没发数据灯就没了,而且一打开串口灯又亮了pa1.0 不知道咋回事'
’灭了‘和’没了‘是不是都是指不亮了?’而且一打开串口灯又亮了‘如何打开?
灯是PA0低电平亮还是高电平亮?

如果你在中断例程里面没有将引起中断的状态位清零,你中断一返回,马上就会又产生中断,就死在中断里面了!应该最后这句对你有用
z00
6楼-- · 2019-07-17 06:38
    GPIO_SetBits(GPIOA,GPIO_Pin_0);
把这句话注释掉 看看有什么现象

一周热门 更多>