打印

LM3开发笔记_2.时钟和GPIO

[复制链接]
3172|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lilihua0721|  楼主 | 2011-9-29 18:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天熟悉了一下LM提供的StellarisWare固件库,感觉跟STM32的固件库有很大的差异,使用上有点像Windows平台API函数的意思,使用外设的时候到对应的固件库看看有啥函数可以用就行了。

        原来没接触过LM3的芯片,所以循序渐进先摸索了一下最基本的系统时钟和GPIO。
1.系统时钟
        LM3的主振荡器可以连接一个1~8.192MHz的外部晶体,同时内部集成有一个PLL,PLL 输出频率固定为200MHz,由于LM3的最高运行频率为 50MHz,因此如果要使用PLL,则至少要进行4以上的分频。系统时钟设置对应的固件库是sysctl,具体使用方法见后面的程序示例。
2.GPIO
        GPIO模块由多个8位端口组成,GPIO管脚可以被配置为多种工作模式,比如高阻输入、推挽输出、开漏输出等等。GPIO设置对应的固件库是gpio,具体使用方法见后面的程序示例。
3.示例程序
int main(void)
{
      SysCtlClockSet(SYSCTL_USE_OSC |            //不采用PLL
                               SYSCTL_OSC_MAIN |           //主振荡器
                               SYSCTL_XTAL_8MHZ |         //8MHz晶振
                               SYSCTL_SYSDIV_1);            //不分频,结果为8M
   
      SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF); //打开PF时钟

      GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, 0x01); //设PF为输出

      while(1)
    {
        GPIOPinWrite(GPIO_PORTF_BASE,(GPIO_PIN_0),0x01); //F0高电平
        delay(5000000); //延时
        GPIOPinWrite(GPIO_PORTF_BASE,(GPIO_PIN_0),0x00); //F0低电平
        delay(5000000); //延时
    }
}

SysCtlClockSet函数-进行时钟设置;
SysCtlPeripheralEnable函数-在使用GPIO模块之前必须首先要使能;
GPIOPinTypeGPIOOutput函数-将PF设为输出;
       在While里不断的反转PF0电平,实现LED的闪烁。
        上面的程序为8M主频,如果要实现全速50MHz,可以进行如下更改:
       SysCtlClockSet(SYSCTL_USE_PLL |          //采用PLL,200MHz
                                SYSCTL_OSC_MAIN |        //主振荡器
                                SYSCTL_XTAL_8MHZ |      //8MHz晶振
                                SYSCTL_SYSDIV_4);         //4分频,结果为50M

        改变设置后,可以看到开发板上的LED闪烁频率明显变快了,证明主频的确提高了。
        最后附上源代码,是MDK的。这里顺便提一下,如果不会建MDK的工程,随便找个例子,照猫画虎就行了。

   

LED.rar

1.03 MB

相关帖子

沙发
aass1| | 2011-10-8 13:09 | 只看该作者
谢谢分享

使用特权

评论回复
板凳
teet| | 2011-10-8 13:25 | 只看该作者
先收了 回去好好研究下

使用特权

评论回复
地板
teet| | 2011-10-8 13:25 | 只看该作者
:lol

使用特权

评论回复
5
sqcumt123| | 2011-10-9 14:20 | 只看该作者
好东西啊,感谢楼主分享,顶一个,支持

使用特权

评论回复
6
403036220| | 2011-12-27 09:29 | 只看该作者
:'(太谢谢了,我正在找lm3s8962用的固件库和在keil中的移植方法呢!谢谢……………………6

使用特权

评论回复
7
403036220| | 2011-12-27 09:31 | 只看该作者
有没有这个固件库的说明啊!谁有给我传一个啊,谢谢啊,403036220@qq.com

使用特权

评论回复
8
xlhtracy| | 2011-12-27 11:19 | 只看该作者
这个很有用

使用特权

评论回复
9
liuzhuo1978| | 2011-12-27 13:11 | 只看该作者
路过收下

使用特权

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

本版积分规则

6

主题

470

帖子

2

粉丝