[技术问答] 【已解决】M058S系统上电复位后寄存器的初始状态

[复制链接]
1990|8
 楼主| niuyaliang 发表于 2013-12-4 15:35 来自手机 | 显示全部楼层 |阅读模式
本帖最后由 niuyaliang 于 2013-12-8 22:10 编辑

本来准备做个表格的,结果测试后发现读出的复位值与手册不同 Demo包 Example.rar (431.66 KB, 下载次数: 10)
  1. /*---------------------------------------------------------------------------------------------------------*/
  2. /*                                                                                                         */
  3. /* Copyright(c) 2010 Nuvoton Technology Corp. All rights reserved.                                         */
  4. /*                                                                                                         */
  5. /*---------------------------------------------------------------------------------------------------------*/
  6. #include <stdio.h>
  7. #include "M051Series.h"
  8. //#include "initialization.h"



  9. /*---------------------------------------------------------------------------------------------------------*/
  10. /* MAIN function                                                                                           */
  11. /*---------------------------------------------------------------------------------------------------------*/
  12. int main(void)
  13. {

  14.                 printf("SYSCLK->PWRCON: %08x\n", SYSCLK->PWRCON);
  15.                 printf("SYSCLK->AHBCLK: %08x\n", SYSCLK->AHBCLK);
  16.                 printf("SYSCLK->APBCLK: %08x\n", SYSCLK->APBCLK);
  17.                 printf("SYSCLK->CLKSTATUS: %08x\n", SYSCLK->CLKSTATUS);
  18.                 printf("SYSCLK->CLKSEL0: %08x\n", SYSCLK->CLKSEL0);
  19.                 printf("SYSCLK->CLKSEL1: %08x\n", SYSCLK->CLKSEL1);
  20.                 printf("SYSCLK->CLKDIV: %08x\n", SYSCLK->CLKDIV);
  21.                 printf("SYSCLK->CLKSEL2: %08x\n", SYSCLK->CLKSEL2);
  22.                 printf("SYSCLK->PLLCON: %08x\n", SYSCLK->PLLCON);
  23.                 printf("SYSCLK->FRQDIV: %08x\n", SYSCLK->FRQDIV);
  24.                 while(1);
  25. }




上图是主程序代码
 楼主| niuyaliang 发表于 2013-12-4 18:05 | 显示全部楼层
本帖最后由 niuyaliang 于 2013-12-5 20:55 编辑

手册中给定的复位值
图像 022.png
主函数打印出的复位值
图像 027.png
很明显的CLKSEL0,PLLCON读出的值与手册上的不同,到底哪里出错了?
图像 023.png
黄小俊 发表于 2013-12-4 19:03 | 显示全部楼层
,不知道。等大神。
bobde163 发表于 2013-12-5 19:59 | 显示全部楼层
等大神解答
clyu 发表于 2013-12-6 11:39 | 显示全部楼层
这个已经使能了PLL,并且将HCLK切到PLL去了。看一下system_M051Series.c在进main之前执行的代码就在这里面
slotg 发表于 2013-12-6 12:02 | 显示全部楼层
在执行 printf 时程序已经做了很多的设定了, 因此打印出来的应该已经不是芯片寄存器的复位值了.
 楼主| niuyaliang 发表于 2013-12-6 13:27 来自手机 | 显示全部楼层
clyu 发表于 2013-12-6 11:39  这个已经使能了PLL,并且将HCLK切到PLL去了。看一下system_M051Series.c在进main之前执行的代码就在这里面 ...

受教了,回去看看代码去,原来是在那里改变的
骗子的片子 发表于 2014-1-20 15:40 | 显示全部楼层
你打印出来的肯定数值不对啊
zxf0168 发表于 2014-2-11 19:44 来自手机 | 显示全部楼层
这个数值并不是最初始的数值啊,亲
您需要登录后才可以回帖 登录 | 注册

本版积分规则

212

主题

2427

帖子

7

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