完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
求大神给一份新唐MINI51使用内置RC振荡例程,我 按照官方的例程,程序怎么都跑不起来
官方的例程都是启动内部RC后切换为外部晶振的,把切换外部晶振这个步骤注释掉就可了 |
|
相关推荐
1个回答
|
|
以下是新唐MINI51使用内置RC振荡的例程:
``` #include "stdio.h" #include "stdlib.h" #include "string.h" #include "Mini51Series.h" #define PLL_CLOCK 50000000 void CLK_Init(void) { /* Unlock protected registers */ SYS_UnlockReg(); /* Enable HIRC */ CLK_EnableXtalRC(CLK_PWRCON_OSC22M_EN_Msk); /* Waiting for HIRC clock ready */ CLK_SysTickDelay(2000); /* Set HCLK clock */ CLK_SetCoreClock(PLL_CLOCK); /* Enable UART clock */ CLK_EnableModuleClock(UART0_MODULE); /* Set UART clock */ CLK_SetModuleClock(UART0_MODULE, CLK_CLKSEL1_UART0_S_HCLK, CLK_CLKDIV_UART(1)); /* Lock protected registers */ SYS_LockReg(); } int main() { /* Init System, IP clock and multi-function I/Os */ SYS_Init(); /* Init UART to 115200-8n1 for print message */ UART_Open(UART0, 115200); /* Enable FMC ISP */ FMC_Open(); /* Enable internal RC oscillator */ CLK->PWRCON |= CLK_PWRCON_IRC22M_EN_Msk; /* Waiting for clock ready */ while(!(CLK->CLKSTATUS & CLK_CLKSTATUS_IRC22M_STB_Msk)); /* Switch to internal RC */ CLK_SetHCLK(CLK_CLKSEL0_HCLK_S_IRC, CLK_CLKDIV_HCLK(1)); /* Output message */ printf("Welcome to use internal RC oscillator testn"); /* Output core clock rate */ printf("Core Clock Rate = %d Hzn", SystemCoreClock); while(1); } ``` 在该例程中,我们使用了内置22.1184MHz的RC振荡器作为时钟源,并将系统时钟设置为PLL输出频率50MHz。在启用内部RC之后,我们使用了 `CLK_SetHCLK()` 函数将系统时钟切换为内部RC,并输出一条欢迎消息和当前系统时钟频率的消息。 如果仍然无法正常运行程序,请确保您的硬件连接正确并且您的开发板能够正常工作。 |
|
|
|
只有小组成员才能发言,加入小组>>
883 浏览 1 评论
2278 浏览 5 评论
2590 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2397 浏览 6 评论
2300 浏览 7 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
448浏览 9评论
459浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
563浏览 6评论
441浏览 5评论
473浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-17 20:26 , Processed in 1.018112 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号