3160|2

2

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

LM3S811怎样很熟练的控制其GPIO口 [复制链接]

我手上有LM3S811的评估板,正在用来做我的毕业设计,驱动16*64点阵,想用8个IO口控制154和595的行列扫描实现点阵屏显示16*16的汉字,实现左移,右移,上移,下移等多种滚屏方式,主要就学习GPIO这块,首先实现一个LED的闪烁,再是流水灯等其他外设的驱动,请教各位高手!!!谢谢

lm3s811.jpg (844.74 KB, 下载次数: 2)

LM3S811评估板

LM3S811评估板

最新回复

这个网站上有许多关于LM3S811的资料呢,简单易懂,自己找一点看看 //***************************************************** //             PA口和PD口测试 // 注意:PC0-PC3能不用则不用   防止锁死芯片 //***************************************************** /****************引用文件*****************************/ #include "hw_ints.h" #include "hw_memmap.h" #include "hw_types.h" #include "gpio.h" #include "sysctl.h" /****************宏定义LED控制引脚********************/ #define     LED_PERIPAH            SYSCTL_PERIPH_GPIOA                         #define     LED_PERIPBH            SYSCTL_PERIPH_GPIOB                         //#define     LED_PERIPCH            SYSCTL_PERIPH_GPIOC                         #define     LED_PERIPDH            SYSCTL_PERIPH_GPIOD     /****************        如无外部按键设计,可省略**************/ //  定义KEY #define     KEY_PERIPH             SYSCTL_PERIPH_GPIOC #define     KEY_PORT               GPIO_PORTC_BASE #define     KEY_PIN                GPIO_PIN_4 //  防止JTAG失效 void JtagWait(void) {    SysCtlPeripheralEnable(KEY_PERIPH);        //  使能KEY所在的GPIO端口        (GPIO C)    GPIOPinTypeGPIOInput(KEY_PORT, KEY_PIN);   //  设置KEY所在管脚为输入    if (GPIOPinRead(KEY_PORT, KEY_PIN) == 0x00)   //  若复位时按下KEY,则进入       {          while(1);                              //  死循环,以等待JTAG连接       }     GPIOPinIntDisable(KEY_PERIPH,KEY_PIN);    //  禁止KEY所在的GPIO端口中断 }                                             int main(void) {              JtagWait();       //  防止JTAG失效,,建议习惯加上            SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |SYSCTL_XTAL_6MHZ);          //SysCtlClockSet函数()系统时钟设置  采用主振荡器  外接6MHz晶振  不分频        SysCtlPeripheralEnable(LED_PERIPAH);                                SysCtlPeripheralEnable(LED_PERIPDH);      //GPIO输出型的    设置所选GPIO 端口指定的管脚为推挽输出模式            GPIOPinTypeGPIOOutput(GPIO_PORTA_BASE, 0xff);                                                                   GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE, 0xff);   while(1)     {                         GPIOPinWrite(GPIO_PORTA_BASE,0xff,0);                          GPIOPinWrite(GPIO_PORTD_BASE,0xff,0);                  SysCtlDelay(150* (SysCtlClockGet( )/ 3000)); // 延时约150ms                          GPIOPinWrite(GPIO_PORTA_BASE,0xff,0xff);                          GPIOPinWrite(GPIO_PORTD_BASE,0xff,0xff);                          SysCtlDelay(150* (SysCtlClockGet( )/ 3000)); // 延时约150ms     }                                         }  详情 回复 发表于 2011-11-6 13:10
 
点赞 关注

回复
举报

7174

帖子

195

TA的资源

五彩晶圆(高级)

沙发
 
从最简单的开始做起  多编编  熟练不是问题的 多看看官方的那些程序
 
 

回复

391

帖子

1

TA的资源

一粒金砂(高级)

板凳
 
这个网站上有许多关于LM3S811的资料呢,简单易懂,自己找一点看看
//*****************************************************
//             PA口和PD口测试
// 注意:PC0-PC3能不用则不用   防止锁死芯片
//*****************************************************
/****************引用文件*****************************/
#include "hw_ints.h"
#include "hw_memmap.h"
#include "hw_types.h"
#include "gpio.h"
#include "sysctl.h"

/****************宏定义LED控制引脚********************/
#define     LED_PERIPAH            SYSCTL_PERIPH_GPIOA                        
#define     LED_PERIPBH            SYSCTL_PERIPH_GPIOB                        
//#define     LED_PERIPCH            SYSCTL_PERIPH_GPIOC                        
#define     LED_PERIPDH            SYSCTL_PERIPH_GPIOD
   
/****************        如无外部按键设计,可省略**************/
//  定义KEY
#define     KEY_PERIPH             SYSCTL_PERIPH_GPIOC
#define     KEY_PORT               GPIO_PORTC_BASE
#define     KEY_PIN                GPIO_PIN_4


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

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

    GPIOPinIntDisable(KEY_PERIPH,KEY_PIN);    //  禁止KEY所在的GPIO端口中断
}                                            

int main(void)
{  
           JtagWait();       //  防止JTAG失效,,建议习惯加上
           SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |SYSCTL_XTAL_6MHZ);
         //SysCtlClockSet函数()系统时钟设置  采用主振荡器  外接6MHz晶振  不分频
       SysCtlPeripheralEnable(LED_PERIPAH);                    
           SysCtlPeripheralEnable(LED_PERIPDH);
     //GPIO输出型的    设置所选GPIO 端口指定的管脚为推挽输出模式
           GPIOPinTypeGPIOOutput(GPIO_PORTA_BASE, 0xff);                                                       
           GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE, 0xff);
  while(1)
    {       
                 GPIOPinWrite(GPIO_PORTA_BASE,0xff,0);
                         GPIOPinWrite(GPIO_PORTD_BASE,0xff,0);
                 SysCtlDelay(150* (SysCtlClockGet( )/ 3000)); // 延时约150ms
                         GPIOPinWrite(GPIO_PORTA_BASE,0xff,0xff);
                         GPIOPinWrite(GPIO_PORTD_BASE,0xff,0xff);
                         SysCtlDelay(150* (SysCtlClockGet( )/ 3000)); // 延时约150ms
    }                                        
}
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表