打印
[DemoCode下载]

N76E003时钟切换

[复制链接]
1160|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
643757107|  楼主 | 2018-7-31 16:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/*---------------------------------------------------------------------------------------------------------*/
/*                                                                                                         */
/* Copyright(c) 2017 Nuvoton Technology Corp. All rights reserved.                                         */
/*                                                                                                         */
/*---------------------------------------------------------------------------------------------------------*/

//***********************************************************************************************************
//  Nuvoton Technoledge Corp.
//  Website: http://www.nuvoton.com
//  E-Mail : MicroC-8bit@nuvoton.com
//  Date   : Apr/21/2017
//***********************************************************************************************************

//***********************************************************************************************************
//  File Function: N76E003 System clock select demo code
//***********************************************************************************************************

#include "N76E003.h"
#include "SFR_Macro.h"
#include "Function_define.h"
#include "Common.h"
#include "Delay.h"

//========================================================================
//  The test process:
//        1. Power on is run as default HIRC, show LED Fsys tickle faster
//         2. toggle P3.0 to GND.
//        2. call modify Fsys code to LIRC.
//        3. LED tickle speed slowly than before.
//========================================================================
void main(void)
{

/* Note
  MCU power on system clock is HIRC (16 MHz)
        Please keep P3.0 HIGH before you want to modify Fsys to LIRC
*/
       
          Set_All_GPIO_Quasi_Mode;                           // In Common.h define
    set_CLOEN;                                                                                                                            // Also can check P1.1 CLO pin for clock to find the Fsys change.
                set_P30;
                while (P30)                                                                                                                                        // when P3.0 keep high, clock out HIRC
                {   
                                clr_GPIO1;                                                                                                                        // Check LED output tickle time
        Timer0_Delay1ms(200);
        set_GPIO1;
        Timer0_Delay1ms(200);
                }
       
////------------------------------------------------------------------------------------------------------
///*********************************** Change system closk source ***************************************/
////------------------------------------------------------------------------------------------------------
              
////***** HIRC enable part *****               
//                set_HIRCEN;                                                                                                //step1: enable HIRC clock source run
//                while((CKSWT&SET_BIT5)==0);                                //step2: check ready
//                clr_OSC1;                                                                                                        //step3: switching system clock source if needed
//                clr_OSC0;
//                while((CKEN&SET_BIT0)==1);                                //step4: check system clock switching OK or NG
//
////***** LIRC enable part*****
////** Since LIRC is always enable, switch to LIRC directly
                set_OSC1;                                                                                                        //step3: switching system clock source if needed
                clr_OSC0;  
                while((CKEN&SET_BIT0)==1);                                //step4: check system clock switching OK or NG        
                clr_HIRCEN;
   
////--------------------------------------------------------------------------------------------------------
   
/*
  Now Fsys = LIRC , LED tickle slowly.
*/
    while(1)
    {
                                clr_GPIO1;                                                                                                                        // Check LED output tickle time
        clr_P00;
        set_GPIO1;
        set_P00;
    }
/* =================== */
}



沙发
643757107|  楼主 | 2018-7-31 16:59 | 只看该作者
从默认的时钟切换到低频时钟。

使用特权

评论回复
板凳
mintspring| | 2018-7-31 19:01 | 只看该作者
切换后功耗是不是更低。

使用特权

评论回复
地板
玛尼玛尼哄| | 2018-7-31 19:17 | 只看该作者
不同时钟用处不同。

使用特权

评论回复
5
yiy| | 2018-7-31 20:04 | 只看该作者
没有板子啊。等我做刚

使用特权

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

本版积分规则

199

主题

3708

帖子

11

粉丝