串口发送数据可以发送常量?

[复制链接]
1550|8
 楼主| leizhanzhi 发表于 2020-8-24 13:47 | 显示全部楼层 |阅读模式
在串口中断服务函数中,开启了接受中断,当串口接受到一个数据时,两个LED灯电平跳变,输出常量,但是串口接受到数据后,不能输出常量,用串口调试助手查看,没有任何数据,但是单片机在不停的发送空格,LED灯也不能轮流跳变,请问是什么问题,该怎么解决?
void USART1_IRQHandler()
{
        //u8 res;
        if(USART_GetITStatus(USART1,USART_IT_RXNE))
        {
                  //res= USART_ReceiveData(USART1);
      USART_SendData(USART1,0x01);
                        if(GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_5)==Bit_SET)
                        {
                                GPIO_ResetBits(GPIOB,GPIO_Pin_5);
                        }
                        else
                                GPIO_SetBits(GPIOB,GPIO_Pin_5);
                        if(GPIO_ReadOutputDataBit(GPIOE,GPIO_Pin_5)==Bit_SET)
                        {
                                GPIO_ResetBits(GPIOE,GPIO_Pin_5);
                        }
                        else
                                GPIO_SetBits(GPIOE,GPIO_Pin_5);
                       
        }
}

sonicll 发表于 2020-8-24 14:19 | 显示全部楼层
串口助手用16进制显示看看有数据吗,你说的单片机不停的发空格,可能就是发的0x01,0x01没有对应的ASCII码字符,所以显示出来跟空格差不多。
你这段程序检查接收中断后,没有读取接收数据,也没有清除接收中断标志,程序估计会不停的进中断函数无法跳出,这样LED灯的GPIO管脚变化太快,人眼无法感知
xyz549040622 发表于 2020-8-24 14:37 | 显示全部楼层
回复同楼上的,还有补充一点,需要注意,当不一定你错了,你的IO即做输出,又做输入,初始化配置为什么状态呢?
xyz549040622 发表于 2020-8-24 14:37 | 显示全部楼层
回复同楼上的,还有补充一点,需要注意,当不一定你错了,你的IO即做输出,又做输入,初始化配置为什么状态呢?
xyz549040622 发表于 2020-8-24 14:37 | 显示全部楼层
回复同楼上的,还有补充一点,需要注意,当不一定你错了,你的IO即做输出,又做输入,初始化配置为什么状态呢?
xyz549040622 发表于 2020-8-24 14:37 | 显示全部楼层
该说的楼上都说了,还有补充一点,需要注意,当不一定你错了,你的IO即做输出,又做输入,初始化配置为什么状态呢?
xyz549040622 发表于 2020-8-24 14:38 | 显示全部楼层
该说的楼上都说了,还有补充一点,需要注意,当不一定你错了,你的IO即做输出,又做输入,初始化配置为什么状态呢?
ningling_21 发表于 2020-8-25 17:47 | 显示全部楼层
发送常量肯定没问题,可以改一下不在中断中发送数据试试
梦幻泡影 发表于 2020-8-26 08:50 | 显示全部楼层
解决方法:
1、把函数中被注释掉的那两句重新用起来; 理由:进入接收中断后必须手动清除中断标志,而接收数据是可以清除接收中断标志的。
2、把发送函数里面的0x01换成0x31。          理由:0x31换成ASCII就是1,此时无论你的串口助手显示的是hex还是ASCII,都能看到东西只,要你波特率没搞错。

当然了,完成第一步,你就能看到灯闪了,之所以改第二步,是为了保险地让你看到数据
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

18

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部