完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
/*---------------------------------------------------------------------------------------------------------*/
/* */ /* 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; } /* =================== */ } |
|
相关推荐
1个回答
|
|
sp;
系统时钟切换通常涉及以下步骤: 1. 调用系统的时钟管理函数(通常是操作系统内核的一部分),以获取当前的时钟设置。 2. 在获取当前时钟设置后,计算出新的时钟设置,并将其应用于系统。 3. 根据操作系统的实现方式,可能需要重启系统,才能使新的时钟设置生效。 4. 如果需要在运行时切换系统时钟,可能需要暂停或调整当前正在运行的进程或线程,以允许时钟切换的顺利进行。这通常需要操作系统内核中的协调机制来实现。 需要注意的是,切换系统时钟可能会对系统的稳定性和性能产生影响,因此应该仔细考虑切换时钟的必要性和后果。在进行时钟切换时,应该遵循操作系统的规范和文档,并尽可能使用经过测试和验证的时钟管理方案,以确保系统的稳定性和性能。 |
|
|
|
只有小组成员才能发言,加入小组>>
3232 浏览 9 评论
2914 浏览 16 评论
3421 浏览 1 评论
8899 浏览 16 评论
4015 浏览 18 评论
9647浏览 3评论
1040浏览 3评论
541浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
539浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2269浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-20 01:25 , Processed in 1.122268 second(s), Total 84, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号