LM3S1138入门6,系统时钟设置

发布者:SerendipityRose最新更新时间:2016-11-01 来源: eefocus关键字:LM3S1138入门  系统时钟设置 手机看文章 扫描二维码
随时随地手机看文章
程序运行后,系统时钟设置为:外部6MHz晶振3分频,即系统时钟为2MHz。在此状态下LED闪烁较慢。

稍后,系统时钟设置为:内部振荡器(12MHz±30%)2分频,即系统时钟为6MHz左右。LED闪烁速度明显加快。

主函数:

#include  "LED.H"
#include 
#include 
#include 
#include 
#include 
#include 


//  将较长的标识符定义成较短的形式
#define  SysCtlPeriEnable       SysCtlPeripheralEnable
#define  SysCtlPeriDisable      SysCtlPeripheralDisable
#define  GPIOPinTypeIn          GPIOPinTypeGPIOInput
#define  GPIOPinTypeOut         GPIOPinTypeGPIOOutput


//  定义KEY
#define  KEY_PERIPH             SYSCTL_PERIPH_GPIOG
#define  KEY_PORT               GPIO_PORTG_BASE
#define  KEY_PIN                GPIO_PIN_5


//  防止JTAG失效
void  JTAG_Wait(void)
{
    SysCtlPeriEnable(KEY_PERIPH);                               //  使能KEY所在的GPIO端口
    GPIOPinTypeIn(KEY_PORT , KEY_PIN);                          //  设置KEY所在管脚为输入

    if ( GPIOPinRead(KEY_PORT , KEY_PIN)  ==  0x00 )            //  如果复位时按下KEY,则进入
    {
        for (;;);                                               //  死循环,以等待JTAG连接
    }

    SysCtlPeriDisable(KEY_PERIPH);                              //  禁止KEY所在的GPIO端口
}


//  延时
void  Delay(unsigned long  ulVal)
{
    while ( --ulVal  !=  0 );
}


//  LED闪烁usTimes次
void  LED_Flash(unsigned char  ucLED , unsigned short  usTimes)
{
    unsigned short  n  =  2 * usTimes;

    do
    {
        LED_Toggle(ucLED);
        Delay(200000UL);
    } while ( --n  !=  0 );                   //循环
}


int  main(void)
{
    JTAG_Wait();                                                //  防止JTAG失效,重要!

    LED_Init(LED2);                                             //  LED初始化

    for (;;)
    {
        SysCtlClockSet(SYSCTL_USE_OSC |                         //  系统时钟设置,采用振荡器
                       SYSCTL_OSC_MAIN |                        //  主振荡器
                       SYSCTL_XTAL_6MHZ |                       //  外接6MHz晶体
                       SYSCTL_SYSDIV_3);                        //  3分频

        LED_Flash(LED2 , 4);

        SysCtlClockSet(SYSCTL_USE_OSC |                         //  系统时钟设置,采用振荡器
                       SYSCTL_OSC_INT |                         //  内部振荡器(12MHz±30%)
                       SYSCTL_SYSDIV_2);                        //  2分频

        LED_Flash(LED2 , 6);
    }
}

关键字:LM3S1138入门  系统时钟设置 引用地址:LM3S1138入门6,系统时钟设置

上一篇:LM3S1138入门7,PLL(锁相环)设置系统时钟
下一篇:LM3S1138入门5,LDO控制电压

推荐阅读最新更新时间:2024-03-16 15:18

lpc2114系统时钟设置
LPC2114微控制器的系统时钟有三种:晶振或外部时钟源为Fosc,经PLL调整后供给CPU得时钟为Fcclk,而经VPB分频器后供给外围器件的时钟为Fpclk。 1、对PLL设置 PLL接受的输入时钟频率范围为10MHZ~25MHZ。输入频率经过一个电流控制振荡器(CCO)倍增到范围10MHZ~60MHZ。倍频器可以是从1到32得整数,但实际上由于CPU最高频率得限制,其倍频值不能高于6。CCO得操作频率范围为156MHZ—320MHZ,因此在环中有个额外的倍频器在PLL提供所需要得输出频率时使CCO保持在频率范围内。输出分频器可设置为2、4、8或16分频。由于输出分频器得最小值为2,它保证了PLL输出有50%得占空比。
[单片机]
STM32系统时钟默认设置
“我们一直都说STM32有一个非常复杂的时钟系统,然而在原子或者野火的例程中,只要涉及到时钟,我们却只能看到类似的库函数调用,如RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE);这个仅仅只是起到开启挂载在APB2线上的USART1时钟的作用罢了,APB2的时钟频率是多少我们并不知道” 我们先来了解一些stm32的时钟结构。 这个图说明了STM32的时钟走向,从图的左边开始,从时钟源一步步分配到外设时钟。 从时钟频率来说,又分为高速时钟和低速时钟,高速时钟是提供给芯片主体的主时钟,而低速时钟只是提供给芯片中的RTC(实时时钟)
[单片机]
STM32<font color='red'>系统</font><font color='red'>时钟</font>默认<font color='red'>设置</font>
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved