打印

求助:关于Kei 3 for ARM中编写嵌入汇编函数

[复制链接]
1962|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dwlovehome|  楼主 | 2011-8-13 15:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
是这样的,想要延时几个纳秒,所以就像闹个空操作符函数,如下定义,结果发现每次调用这个函数后程序就跑飞了。。。。求教大牛

__asm void delay(void)
{
NOP
NOP
NOP
NOP
NOP
}

然后在需要的时候进行调用

比如:
void fun1()
{
     ........
     delay();        //如果把此函数改为__delay();编译不能通过
     .........

}
沙发
dwlovehome|  楼主 | 2011-8-13 16:11 | 只看该作者
没有大牛进来指点下么?

使用特权

评论回复
板凳
swx2010| | 2011-8-14 09:23 | 只看该作者
这个是不是传说中的C中插汇编,想学习一下,帮你顶上来

使用特权

评论回复
地板
ilovezeno| | 2011-8-14 18:32 | 只看该作者
lz 你没发现你的汇编程序跑到底的时候,pc指针指的哪里...你没把原来的pc指针pop出去,程序当然死掉了.....
在汇编末尾加上 BX lr 这样应该就ok了....
多看keil的帮助文件阿,里面的例子照着改就行啦~~~~~~~~~~

使用特权

评论回复
5
dwlovehome|  楼主 | 2011-8-15 08:40 | 只看该作者
4# ilovezeno

谢谢了,后来发现就是这个问题,对汇编不怎么懂,谢谢了

使用特权

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

本版积分规则

8

主题

41

帖子

0

粉丝