[AVR单片机] 通信问题2

[复制链接]
2161|0
 楼主| lbk708 发表于 2007-4-25 13:28 | 显示全部楼层 |阅读模式
想做个程序,把接收到的数据发送出去:
程序1:
SIGNAL(SIG_USART_RECV)                       //串口接收中断服务程序
{
    kk=UDR;         //读入数据到kk
    nop();          //稍做延时
    //把接到的数据发送出去.
    DDRD  |=(1<<(2));//RXD为输出
    PORTD |=(1<<(2));
    //UDR=kk;
    while ( !( UCSRA & (1<<UDRE)) )    //等待发送缓冲区为空
    UDR=kk;
    nop();          //稍做延时

}
程序2:
SIGNAL(SIG_USART_RECV)                       //串口接收中断服务程序
{
    kk=UDR;         //读入数据到kk
    nop();          //稍做延时
    //把接到的数据发送出去.
    DDRD  |=(1<<(2));//RXD为输出
    PORTD |=(1<<(2));
    UDR=kk;
    while ( !( UCSRA & (1<<UDRE)) )    //等待发送缓冲区为空
    //UDR=kk;
    nop();          //稍做延时

}
情况:程序1不能实现,程序2可实现,为什么?(我看了很多例子,他们都是用程序1的写法,还见过有用程序2这种写法的)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

43

帖子

0

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