打印
[AVR单片机]

通信问题2

[复制链接]
1140|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

粉丝