找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2595|回复: 0
打印 上一主题 下一主题
收起左侧

ARM9之2440时钟

[复制链接]
跳转到指定楼层
楼主
ID:82781 发表于 2015-6-13 16:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
其实ARM9并没有什么了不起的,和ARM7,6基本是一样的,裸奔起来并没有什么不同,个人感觉八错!倒是那万能的C语言却是真的!
  1. U32 val;
  2. U8 m, p, s;
  3. val = rMPLLCON;
  4. m = (val>>12)&0xff;
  5. p = (val>>4)&0x3f;
  6. s = val&3;

  7. //(m+8)*FIN*2 不要超出32位数!
  8. FCLK = ((m+8)*(FIN/100)*2)/((p+2)*(1<<s))*100;
  9. val = rCLKDIVN;
  10. m = (val>>1)&3;
  11. p = val&1;       
  12. val = rCAMDIVN;
  13. s = val>>8;
  14. switch (m) {
  15. case 0:
  16. HCLK = FCLK;
  17. break;
  18. case 1:
  19. HCLK = FCLK>>1;
  20. break;
  21. case 2:
  22. if(s&2)
  23. HCLK = FCLK>>3;
  24. else
  25. HCLK = FCLK>>2;
  26. break;
  27. case 3:
  28. if(s&1)
  29. HCLK = FCLK/6;
  30. else
  31. HCLK = FCLK/3;
  32. break;
  33. }
  34. if(p)
  35. PCLK = HCLK>>1;
  36. else
  37. PCLK = HCLK;
  38. if(s&0x10)
  39. cpu_freq = HCLK;
  40. else
  41. cpu_freq = FCLK;
  42. val = rUPLLCON;
  43. m = (val>>12)&0xff;
  44. p = (val>>4)&0x3f;
  45. s = val&3;
  46. UPLL = ((m+8)*FIN)/((p+2)*(1<<s));
  47. UCLK = (rCLKDIVN&8)?(UPLL>>1):UPLL;
复制代码



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表