打印
[STM32F0]

临睡一问while,流水线的关系吗?Optimization=Level 3(-o3)有影响?

[复制链接]
1998|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 290399937 于 2014-4-28 18:31 编辑

        DCD_EP_Tx (&USB_Device_dev, CDC_IN_EP,tbuf,255);                 
                        
        tbuf[0]=USB_Device_dev.dev.in_ep[CDC_IN_EP& 0x7F].xfer_len;
        tbuf[1]=USB_Device_dev.dev.in_ep[CDC_IN_EP& 0x7F].xfer_len>>8;
                        
        while(0!=USB_Device_dev.dev.in_ep[CDC_IN_EP& 0x7F].xfer_len)
        {
                delaynop();        // 注释掉这一个延时,就会 while死循环
                                        //此函数内容是        uint32_t iw;for(iw=0;iw<1;iw++);
                                        //把内容拉过来直接for延时(不调用函数的形式)也会 while死循环
                                           //这是为什么呢   
               
        }



///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
沙发
airwill| | 2014-4-28 07:41 | 只看该作者
编译器优化的结果. 看执行的效果是不是一样呢?
现在的编译器优化的效率很高, 往往让编程者都想不到.
细想想, 通常效果是一样的. 而比你想象得还要简练.

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
290399937 + 3
板凳
mmuuss586| | 2014-4-28 08:11 | 只看该作者
仿真的时候程序跟你去看看呗。

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
290399937 + 3
地板
weiyuliang| | 2014-4-28 08:39 | 只看该作者
一般先去查找自己程序的问题,然后在去怀疑编译器。

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
290399937 + 3
5
290399937|  楼主 | 2014-4-28 18:02 | 只看该作者
weiyuliang 发表于 2014-4-28 08:39
一般先去查找自己程序的问题,然后在去怀疑编译器。

你好:
已更新 调试图2张,望有空看一下.谢谢

使用特权

评论回复
6
290399937|  楼主 | 2014-4-28 18:31 | 只看该作者
weiyuliang 发表于 2014-4-28 08:39
一般先去查找自己程序的问题,然后在去怀疑编译器。

你好:
已更新 调试图2张,望有空看一下.谢谢

使用特权

评论回复
7
290399937|  楼主 | 2014-4-28 18:31 | 只看该作者
airwill 发表于 2014-4-28 07:41
编译器优化的结果. 看执行的效果是不是一样呢?
现在的编译器优化的效率很高, 往往让编程者都想不到.
细想 ...

你好:
已更新 调试图2张,望有空看一下.谢谢

使用特权

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

本版积分规则

15

主题

354

帖子

2

粉丝