打印

cpu速度问题——实验与DATASHEET不符

[复制链接]
1255|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
barryyan|  楼主 | 2010-7-24 10:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我项目中的选用的是ADI公司的ADUC7060芯片。DATASHEET上说它的速度是10.24M。

当我做ADC+UART实验时,设置ADC转换频率为8KHZ时,发现ADC中断里的cnt计数值比在main中的cnt计数值大,说明ADC的转换速度比Main还跑得快。我就有点莫名了。

于是我做了个简单的实验想验证下它的速度是否真的有10.24MHZ。
我加了个定时器,定时10S,在main函数里就一个计数值。想看下10S内,它是多少数值。通过这个数值来看CPU的速度。

main()
{
//一些寄存器配置;
   while(1)
    {   
    cnt++;
    }  
}

ISR()
{
    定时10S
}

结果发现10S内,cnt跑了1500000次,也就是说1S只跑了150000万次。难道说CPU频率只有150KHZ?

对于这个我有点搞不懂了。到底是我本身实验设计得有问题,还是cnt根本就不是cpu的速度呢?

还请各位指教

相关帖子

沙发
chengchenz| | 2010-7-24 11:09 | 只看该作者
本身实验设计得有问题
且cnt根本就不是cpu的速度

   while(1)
    {   
    cnt++;
    }  
编译后不是一条机器指令

还有  处理器模式  指令周期  机器周期   流水线  跳转 很多因素

使用特权

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

本版积分规则

37

主题

137

帖子

0

粉丝