查看: 3291|回复: 3

[其他] mcf52235的串口问题

[复制链接]

该用户从未签到

1

主题

2

帖子

0

新手上路

Rank: 1

积分
4
最后登录
1970-1-1
发表于 2011-4-1 15:12:50 | 显示全部楼层 |阅读模式
在使用串口的时候,发现有时候接受到同样的数据,接受两次;
//函数功能:UART-1的中断处理程序
//输入参数:无
//输出参数:无
__interrupt__  void uart1_isr(void)
{
   unsigned char usr;
   unsigned char ch;
   usr = MCF_UART1_USR;
  // inhabit_interrupt();
   if (usr && MCF_UART_USR_RXRDY)
   {
    
     //判断接收是否出现问题
     if (usr & ( MCF_UART_USR_RB |
                    MCF_UART_USR_FE |
                    MCF_UART_USR_PE |
                    MCF_UART_USR_OE ))
     { //错误
      MCF_UART1_UCR = MCF_UART_UCR_RESET_ERROR;
     }
     ch=MCF_UART1_URB;
    // g_strUartInfo[1].sign=1;
    // g_strUartInfo[1].buf=ch;
     g_strUartInfo[1].recv_flag =处理函数(ch);
   }
// enable_interrupt();
}
 
在处理函数中,发现接受到同样的数据,有两次;
而且不是每次都这样;
我知道答案 目前已有2人回答
回复

使用道具 举报

该用户从未签到

27

主题

418

帖子

0

新手上路

Rank: 1

积分
228
最后登录
1970-1-1
发表于 2011-4-1 16:48:25 | 显示全部楼层

RE:mcf52235的串口问题

呃,首先应该排除数据是不是发了两次,然后波特率对不对

该用户从未签到

1

主题

2

帖子

0

新手上路

Rank: 1

积分
4
最后登录
1970-1-1
 楼主| 发表于 2011-4-1 17:15:45 | 显示全部楼层

回复:mcf52235的串口问题

波特率和发送的数据都正确,感觉是同样的数据产生了两次中断,问在接受到数据后,如何清除中断标记;使得MCF_UART_USR(1) !=1

该用户从未签到

27

主题

418

帖子

0

新手上路

Rank: 1

积分
228
最后登录
1970-1-1
发表于 2011-4-2 17:04:27 | 显示全部楼层

RE:mcf52235的串口问题

应该是读数据寄存器自动清除的
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-24 06:48 , Processed in 0.090596 second(s), 24 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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