空指令问题

[复制链接]
5033|13
 楼主| zhaoxqi 发表于 2012-2-23 21:05 | 显示全部楼层 |阅读模式
#define  NOP() _nop_()  /* 定义空指令 */
这个空指令怎么用的啊?
午夜粪车 发表于 2012-2-23 21:05 | 显示全部楼层
什么地方用?
jiajs 发表于 2012-2-23 21:08 | 显示全部楼层
可以当很短时间的延时使用
 楼主| zhaoxqi 发表于 2012-2-23 21:08 | 显示全部楼层
就这些了?
huangchui 发表于 2012-2-23 21:12 | 显示全部楼层
uchar Read(void) /*读一个字节的数据,并返回该字节值*/   
{   
        
    uchar temp=0;   
        
    uchar temp1=0;   
        
    uchar BitCounter=8;   
        
    Sda=1;   
        
    do{         
        Scl=0;   
            
        _nop_ ();   
            
        _nop_ ();   
            
        _nop_ ();   
            
        _nop_ ();   
            
        Scl=1;   
            
        _nop_ ();   
            
        _nop_ ();   
            
        _nop_ ();   
            
        _nop_ ();   
            
        if(Sda) /*如果Sda=1;*/               
            temp=temp|0x01; /*temp的最低位置1*/         
        else               
            temp=temp&0xfe; /*否则temp的最低位清0*/   
            
        if(BitCounter-1)               
        {     
            temp1=temp<<1;              
            temp=temp1;            
        }   
            
        BitCounter--;   
            
    }while(BitCounter);   
        
    return(temp);   
        
}
huangchui 发表于 2012-2-23 21:12 | 显示全部楼层
楼主可以自己再想想啊
 楼主| zhaoxqi 发表于 2012-2-23 21:14 | 显示全部楼层
多谢楼上几位
 楼主| zhaoxqi 发表于 2012-2-23 21:14 | 显示全部楼层
我再想想吧
永远的不知 发表于 2012-2-24 10:07 | 显示全部楼层
这条指令的时间是确定的,
可用作精确延时。
modernthink 发表于 2012-2-24 14:26 | 显示全部楼层
还有一些地方可以用到NOP。某些430的errta上会说到430芯片CPU在某些情况下会出现执行错误的情况。比如JMP不能再return之前之类的,这是芯片设计的bug。提出的解决方法就是JMP后加一个NOP,这样就保证了,不会发生错误了。
TI_MCU 发表于 2012-2-24 14:58 | 显示全部楼层
使用

  1. NOP;
可以让MCU什么都不干运行一个Cycle。可以用来进行延时什么的。使用4个NOP可以延时4个Cycles

  1. _nop_ ();   
  2. _nop_ ();   
  3. _nop_ ();   
  4. _nop_ ();   
哲哲55 发表于 2012-2-24 15:21 | 显示全部楼层
NOP指令设计的初衷是为了处理器流水线技术,使已经进入指令队列的指令不因为跳转或是转移指令而浪费CPU的执行效率
peter_zheng 发表于 2012-2-24 15:58 | 显示全部楼层
在in430.h里有此类的定义
#define _NOP()         __no_operation()
就是一个空操作指令。
amini 发表于 2012-2-24 18:47 | 显示全部楼层
:handshake 11# TI_MCU
您需要登录后才可以回帖 登录 | 注册

本版积分规则

808

主题

10636

帖子

4

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