打印
[AVR单片机]

if语句也会被优化?还是什么其他原因

[复制链接]
939|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1986zhaoxl|  楼主 | 2015-8-25 09:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
unsigned char c;
    wdt_disable();
    cli();
    usart0_init();
    sei();
    while(1)
    {
        if((&RTbuf_UART0) -> R_count > 0) {
            Rbuf_getchar(&c, &RTbuf_UART0);
            uart0_putchar(c, &RTbuf_UART0);
        }
        _delay_us(1);
    }


如果不加“_delay_us(1);”这句,就没法收发,加了就可以。什么原因呢?

相关帖子

沙发
BitFu| | 2015-8-28 16:59 | 只看该作者
R_count定义成volatile就知道了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

4

帖子

0

粉丝