OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3035|回复: 3

写了个串口中断接收程序,但是只能回显最后一个字符,麻烦大家给我看看是哪问题,自己看了好久也找不出来

[复制链接]

2

主题

4

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2017-11-17
在线时间
4 小时
发表于 2017-11-26 16:31:40 | 显示全部楼层 |阅读模式
5金钱
写得简单,最后一个字符是#就表示接收完成。
void USART1_IRQHandler(void)
{
        u16 tem;
        if(USART_GetITStatus(USART1,USART_IT_RXNE)==SET)
        {
                tem=USART_ReceiveData(USART1);
                if(UsartFlag==0)//接收完成标志位
                {
                        buf[i]=tem;
                        i++;
                        BufLenth++;//缓冲区长度
                        if(buf[--i]=='#')
                        {
                                UsartFlag=1;
                                i=0;
                        }
                        if(i>63)
                        {
                                UsartFlag=0;
                                BufLenth=0;
                                i=0;
                        }
                }
                USART_ClearITPendingBit(USART1,USART_IT_RXNE);
        }

int main(void)
{
u16 i;
delay_init();
LED_Init();
KEY_Init();
Uart_Init();
while(1)
        {
                if(UsartFlag==1)
                {
                        for(i=0;i<BufLenth;i++)
                        {
                                USART_SendData(USART1,buf[i]);
                                while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);
                        }
                        UsartFlag=0;
                        BufLenth=0;
                }
        }

}

       

最佳答案

查看完整内容[请看2#楼]

局部变量和全局变量,不要定义成一个名字!!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-11-26 16:31:41 | 显示全部楼层
局部变量和全局变量,不要定义成一个名字!!
回复

使用道具 举报

2

主题

4

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2017-11-17
在线时间
4 小时
 楼主| 发表于 2017-11-27 17:55:37 | 显示全部楼层
正点原子 发表于 2017-11-27 00:30
局部变量和全局变量,不要定义成一个名字!!

嗯,谢谢原子哥,后面注意,我的问题找到了,用i控制数组坐标出了问题,一直是0
回复

使用道具 举报

15

主题

406

帖子

0

精华

高级会员

Rank: 4

积分
795
金钱
795
注册时间
2015-3-26
在线时间
151 小时
发表于 2017-11-28 09:02:23 | 显示全部楼层
tan90  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 17:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表