打印
[技术问答]

【已解决】M058S系统上电复位后寄存器的初始状态

[复制链接]
1638|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
niuyaliang|  楼主 | 2013-12-4 15:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 niuyaliang 于 2013-12-8 22:10 编辑

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



/*---------------------------------------------------------------------------------------------------------*/
/* MAIN function                                                                                           */
/*---------------------------------------------------------------------------------------------------------*/
int main(void)
{

                printf("SYSCLK->PWRCON: %08x\n", SYSCLK->PWRCON);
                printf("SYSCLK->AHBCLK: %08x\n", SYSCLK->AHBCLK);
                printf("SYSCLK->APBCLK: %08x\n", SYSCLK->APBCLK);
                printf("SYSCLK->CLKSTATUS: %08x\n", SYSCLK->CLKSTATUS);
                printf("SYSCLK->CLKSEL0: %08x\n", SYSCLK->CLKSEL0);
                printf("SYSCLK->CLKSEL1: %08x\n", SYSCLK->CLKSEL1);
                printf("SYSCLK->CLKDIV: %08x\n", SYSCLK->CLKDIV);
                printf("SYSCLK->CLKSEL2: %08x\n", SYSCLK->CLKSEL2);
                printf("SYSCLK->PLLCON: %08x\n", SYSCLK->PLLCON);
                printf("SYSCLK->FRQDIV: %08x\n", SYSCLK->FRQDIV);
                while(1);
}




上图是主程序代码
沙发
niuyaliang|  楼主 | 2013-12-4 18:05 | 只看该作者
本帖最后由 niuyaliang 于 2013-12-5 20:55 编辑

手册中给定的复位值

主函数打印出的复位值

很明显的CLKSEL0,PLLCON读出的值与手册上的不同,到底哪里出错了?

图像 023.png (4.51 KB )

图像 023.png

使用特权

评论回复
板凳
黄小俊| | 2013-12-4 19:03 | 只看该作者
,不知道。等大神。

使用特权

评论回复
地板
bobde163| | 2013-12-5 19:59 | 只看该作者
等大神解答

使用特权

评论回复
5
clyu| | 2013-12-6 11:39 | 只看该作者
这个已经使能了PLL,并且将HCLK切到PLL去了。看一下system_M051Series.c在进main之前执行的代码就在这里面

使用特权

评论回复
6
slotg| | 2013-12-6 12:02 | 只看该作者
在执行 printf 时程序已经做了很多的设定了, 因此打印出来的应该已经不是芯片寄存器的复位值了.

使用特权

评论回复
7
niuyaliang|  楼主 | 2013-12-6 13:27 | 只看该作者
clyu 发表于 2013-12-6 11:39  这个已经使能了PLL,并且将HCLK切到PLL去了。看一下system_M051Series.c在进main之前执行的代码就在这里面 ...

受教了,回去看看代码去,原来是在那里改变的

使用特权

评论回复
8
骗子的片子| | 2014-1-20 15:40 | 只看该作者
你打印出来的肯定数值不对啊

使用特权

评论回复
9
zxf0168| | 2014-2-11 19:44 | 只看该作者
这个数值并不是最初始的数值啊,亲

使用特权

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

本版积分规则

212

主题

2427

帖子

7

粉丝