c语言里 while 循环周期 计算

[复制链接]
5924|10
 楼主| gpf88 发表于 2012-9-13 14:03 | 显示全部楼层 |阅读模式
while(j)  {
                                   j=((DuiMa_Key_RD&BIT4)==0);
   i++;
if(i>=6)
break;
        } 循环一次 用几个周期
MrWang_ 发表于 2012-9-13 15:51 | 显示全部楼层
几个周期?是机器周期,还是时钟周期?具体的话得看看它的指令周期啊!
 楼主| gpf88 发表于 2012-9-13 16:09 | 显示全部楼层
430的机器周期等于时钟周期。编译成汇编用的是13条指令,就是里面每条指令是几个机器周期我不清楚。求解答
springspring 发表于 2012-9-15 08:03 | 显示全部楼层
根据数据手册应该可以查到的,没有资料无法告知啊
happy啦啦啦 发表于 2012-9-15 08:09 | 显示全部楼层
不知道430的时钟周期是多少,可以查一下 就可以计算出来了
hawksabre 发表于 2012-9-15 20:12 | 显示全部楼层
一条指令应该就是一条机器周期    13条指令应该就是13条指令   这个不太清楚   在研究研究  对不住  没帮上你
wjzx111056 发表于 2012-9-15 22:20 | 显示全部楼层
LZ,你想准确知道循环一次要用几个周期的话,我是这样做的:将该语句放到IAR中进行调试,先点击DEBUG,然后在View菜单下打开disassembly窗口,你可以看到执行该段C程序所对应的汇编语句,然后你就可以根据系统的主时钟来技术执行的周期了。

评分

参与人数 1威望 +2 收起 理由
gpf88 + 2 神马都是浮云

查看全部评分

shenmu2012 发表于 2012-9-17 09:59 | 显示全部楼层
这个跟系统的注视中实相关的啊,赞同楼上的意见,楼主可参考下的啊
xiemengqi 发表于 2012-9-17 12:47 | 显示全部楼层
把p1.4配置成smclk输出,用单步调试,示波器数数p1.4跳变了几次行不行?
while(1){}的话,是两个clk

评分

参与人数 1威望 +1 收起 理由
gpf88 + 1

查看全部评分

figo20042005 发表于 2012-9-18 17:37 | 显示全部楼层
LZ可以看下指令周期,反汇编下由那些指令组成,再进行计算

评分

参与人数 1威望 +1 收起 理由
gpf88 + 1

查看全部评分

hongong 发表于 2012-9-19 17:43 | 显示全部楼层
好久没用过C语言了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

23

帖子

1

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