原创 LM3S8962学习笔记之IO

2011-5-16 20:23 4047 6 10 分类: MCU/ 嵌入式

拿到TILM3S8962的板子了,开始学习,ARM跟单片机还是有些区别的,就这个等级 ,库函数的调用用起来我刚开始还有些不太适应,闲话不说我跑的第一个程序贴上来加加水吧!就是个LED等闪烁的程序我在调用库函数和直接超作IO做了个对比,IO直接操作比库函数效率是高,但是库函数用起来还是比较方便,我在对IO布什很了解的情况下也可以自由操作,跟写PC端的程序有点像,哈哈!

#undef uselib         

int main(void)
{
    volatile unsigned long ulLoop,key;

    SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOF;//开端口F时钟使能
    ulLoop = SYSCTL_RCGC2_R;            //延时,稳定一下

#ifdef uselib
    GPIODirModeSet(GPIO_PORTF_BASE,GPIO_PIN_0,GPIO_DIR_MODE_OUT); //设置为输入端口
 GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_0, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);//设置所选GPIO端口指定管脚的驱动强度和类型
 GPIODirModeSet(GPIO_PORTF_BASE,GPIO_PIN_1,GPIO_DIR_MODE_IN); //设置为输入端口
 GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_1, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);//设置所选GPIO端口指定管脚的驱动强度和类型

    while(1){
    key = GPIOPinRead(GPIO_PORTF_BASE, GPIO_PIN_1);
    if(key==0){
  GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_0,0x01);
        for(ulLoop = 0; ulLoop < 200000; ulLoop++)
        {
        }
        GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_0,0x00);
        for(ulLoop = 0; ulLoop < 200000; ulLoop++)
        {
        }
    }
    }
}
#else
  GPIO_PORTF_DIR_R = 0x01;  //配置F0为输出,F1为输入
     GPIO_PORTF_DEN_R = 0x03;  //配置成数字输入
  GPIO_PORTF_DR2R_R =0x00;  //驱动电流2ma
  GPIO_PORTF_PUR_R = 0x02;  //按键上拉


    while(1){
    key = GPIO_PORTF_DATA_R;
    if(key==0){
        GPIO_PORTF_DATA_R |= 0x01;
        for(ulLoop = 0; ulLoop < 200000; ulLoop++)
        {
        }
        GPIO_PORTF_DATA_R &= ~(0x01);
        for(ulLoop = 0; ulLoop < 200000; ulLoop++)
        {
        }
    }
  }
}

#endif 

PARTNER CONTENT

文章评论4条评论)

登录后参与讨论

用户377235 2016-5-28 07:53

当年也弄过几天LM3S8962,TI的函数库写的很好,赞。可是,LM3S已经彻底死了。现在TI主推LM4F,平平淡淡

yhmcjc_804203354 2011-5-23 20:02

用过lm3s811,感觉api用起来跟写pc很像,我感觉这是未来发展方向,天下大同

用户258758 2011-5-19 19:10

总体来说,ti的CM3库好用,但片子太贵,外设少,st的和他相反。

用户120337 2011-5-16 21:50

很快就会习惯的。回过头来,那些只有单一功能管脚的MCU,还真是不习惯。
相关推荐阅读
用户1664151 2013-07-01 16:10
[博客大赛]对K60低频时钟的看法
         最近项目中使用FREESCALE,K60的芯片,在小批量试产的时候出现了部分晶振不能起振的情况,搞了几天,一直没有搞定,怀疑过晶振品质的问题,后来查阅低频32768Hz的晶振为西...
用户1664151 2013-06-29 14:26
我回来了
        很久没来EDN,工作一直比较忙碌,现在我又回来了,几多沉下浮,曾经犹豫彷徨是技术还是非技术,现在看来技术还是比较适合我的。          适合自己的才是最好的,EDN CH...
用户1664151 2011-08-24 22:43
蜗牛学习lwip
开始学习LWIP,手头的9b96要开始发挥作用了,对CM3不是很熟,但是一步一步来爬着学习,打算弄明白LWIP的代码,TCPIP是在是太庞大了,学通这个东西真会变的很好很强大,记录每天学习的过程。。加...
用户1664151 2011-05-25 20:57
浅谈零磁通补偿技术
    最近一直在整这个玩意,思考和实践做好一个东西真的太不容易,我最近一直在研究在小电流条件下的隔离测量技术,对于几百Ua的信号高保真的还原,我是下了苦工的,现在只是浅浅的踏进了这扇门,我使用POM...
用户1664151 2011-05-19 21:20
sim300之短信包Bit7编码解析
上回讲解sim300的GPRS建立过程,这回讲解sim300的短信包Bit7编码解析,使用这样的方式的时候只支持英文和数据短信,可以让模块具有短信设置功能的能力。一下是解析过程的代码。 //bit7转...
用户1664151 2011-05-19 21:12
lm3s8962开发板学习之电平中断
attachment download今天学习开发板上点平中断的,程序在LCD上显示按的5个按键的信息。与君分享。...
EE直播间
更多
我要评论
4
6
关闭 站长推荐上一条 /3 下一条