keil c的nop指令怎么用?

[复制链接]
20911|8
 楼主| wangkj 发表于 2008-8-28 17:02 | 显示全部楼层 |阅读模式
找不到nop()函数,asm("nop") 出错
古道热肠 发表于 2008-8-28 17:05 | 显示全部楼层

用_nop_()

将<intrins.h>放在C文件的头部
dad123123 发表于 2008-8-28 17:06 | 显示全部楼层

缺少头文件

缺少头文件
nop()函数的头文件是intrinis.h
你去KEIL目录里找这个头文件吧

 楼主| wangkj 发表于 2008-8-28 17:12 | 显示全部楼层

不是这个头文件

 楼主| wangkj 发表于 2008-8-28 17:14 | 显示全部楼层

_nop_ 2楼说的头文件对,查查看是这个指令

 楼主| wangkj 发表于 2008-8-28 17:17 | 显示全部楼层

一堆警告

TOUCHSCR.C(345): warning C275: expression with possibly no effect
TOUCHSCR.C(345): warning C275: expression with possibly no effect
TOUCHSCR.C(347): warning C275: expression with possibly no effect
TOUCHSCR.C(347): warning C275: expression with possibly no effect
TOUCHSCR.C(356): warning C275: expression with possibly no effect
TOUCHSCR.C(356): warning C275: expression with possibly no effect
Ice_River 发表于 2008-8-28 17:19 | 显示全部楼层

re:


#ifndef __INTRINS_H__
#define __INTRINS_H__

extern void          _nop_     (void);
extern bit           _testbit_ (bit);
extern unsigned char _cror_    (unsigned char, unsigned char);
extern unsigned int  _iror_    (unsigned int,  unsigned char);
extern unsigned long _lror_    (unsigned long, unsigned char);
extern unsigned char _crol_    (unsigned char, unsigned char);
extern unsigned int  _irol_    (unsigned int,  unsigned char);
extern unsigned long _lrol_    (unsigned long, unsigned char);
extern unsigned char _chkfloat_(float);
extern void          _push_    (unsigned char _sfr);
extern void          _pop_     (unsigned char _sfr);

#endif
古道热肠 发表于 2008-8-28 17:28 | 显示全部楼层

应该不会错的

调用时是以函数形式实现的
_nop_();
dad123123 发表于 2008-8-28 17:30 | 显示全部楼层

疏忽

拼写错了
参照2楼
给你个建议:

#define  nop()    _nop_()
您需要登录后才可以回帖 登录 | 注册

本版积分规则

580

主题

9972

帖子

24

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