[其它应用] SH79F085默认系统频率异常

[复制链接]
1172|10
 楼主| xwinter 发表于 2018-4-8 14:40 | 显示全部楼层 |阅读模式
数据手册上,上电默认系统频率为128KHZ,12分频,然后我设置为不分频,但是实测P0.6口,频率为6.378KHZ,请教一下大神,这是什么原因呀?
附代码:
void        main(void)
{
        CLKCON = 0;       
        P0CR        |=        0x4F;   
        P0_6        =        0;
        while(1)
        {
            P0_6 ^= 1;
        }
}
ayb_ice 发表于 2018-4-8 14:46 | 显示全部楼层
CPU处理需要时间
 楼主| xwinter 发表于 2018-4-8 14:57 | 显示全部楼层
ayb_ice 发表于 2018-4-8 14:46
CPU处理需要时间

也就是说这个频率是正常的吗?
ayb_ice 发表于 2018-4-8 15:25 | 显示全部楼层
xwinter 发表于 2018-4-8 14:57
也就是说这个频率是正常的吗?

有可能,具体需要计算指令运行时间

评论

不好意思,我不知道怎么计算,但是我就觉得和系统频率相差有点多,现在这个指令周期是10个指令周期,正常吗?  发表于 2018-4-9 09:50
@xwinter :你这理论怎么算出来的?  发表于 2018-4-8 20:46
SYSCLK:系统时钟,系统频率分频器的输出时钟。这个时钟为CPU指令周期的时钟。我是不分频,理论应该是128K,现在差的有点多呀  发表于 2018-4-8 16:07
ayb_ice 发表于 2018-4-9 08:23 | 显示全部楼层
一个取反指令, 一个跳转指令,对照指令表看看需要多少周期
 楼主| xwinter 发表于 2018-4-9 09:48 | 显示全部楼层
ayb_ice 发表于 2018-4-9 08:23
一个取反指令, 一个跳转指令,对照指令表看看需要多少周期

一共10个指令周期,然后现在频率相差20倍,这样正常吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
ayb_ice 发表于 2018-4-9 09:51 | 显示全部楼层
本帖最后由 ayb_ice 于 2018-4-9 09:53 编辑
xwinter 发表于 2018-4-9 09:48
一共10个指令周期,然后现在频率相差20倍,这样正常吗?

明明是两倍,哪是20倍128/10=12.8

其实是对的,高低各占一个循环,结果本来就要除以2,完全正确


 楼主| xwinter 发表于 2018-4-9 14:56 | 显示全部楼层
ayb_ice 发表于 2018-4-9 09:51
明明是两倍,哪是20倍128/10=12.8

其实是对的,高低各占一个循环,结果本来就要除以2,完全正确

非常感谢大神的解析,就此结贴,供大家参考
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

12

帖子

0

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