这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 嵌入式开发» MCU» LM3S811学习笔记——gpio简介

共7条 1/1 1 跳转至

LM3S811学习笔记——gpio简介

院士
2013-02-27 10:04:36 打赏



LM3S811学习笔记——gpio简介

Lm3s系列的gpio的使用,这是最简单的实验,但是其功能也是最多的,与平时的使用最最关系密切的。

LM3S系列微处理器的GPIO功能模块提供了多达8GPIO端口。每个功能模块都有如下功能:

1、可以配置成输入或输出模式。在复位后,默认为输入模式;

2、在输入模式下,能够产生高电平中断,低电平中断,上升沿中断,下降沿中断或者上、下沿中断;

3、在输出模式下,能配置成输出2毫安、4毫安、8毫安的驱动输出。在8毫安输出模式下,可以配置IO口的翻转速率用来控制信号的上升与下降的时间。在复位后,输出模式默认为2毫安驱动;

4、可选的弱上拉与下拉电阻。在复位后,sandstorm系列下为弱上拉,而其它模式为禁能状态;

5、可选的集电极开路模式。复位后,默认为标准的推挽式;

6、可以配置成GPIO或是专有功能外设。复位后,默认为GPIO端口。


具体应用方法如下:


1.设置所选GPIO端口指定管脚的方向和模式

void GPIODirModeSet(unsigned long ulPort,//所选GPIO端口的基址

unsigned char ucPins,//指定管脚的位组合表示

unsigned long ulPinIO);//管脚的方向或模式

2.设置所选GPIO端口指定管脚的驱动强度和类型

void GPIOPadConfigSet(unsigned long ulPort,

unsigned char ucPins,

unsigned long ulStrength,

unsigned long ulPadType);

3.设置所选GPIO端口指定的管脚为输入模

void GPIOPinTypeGPIOInput(unsigned long ulPort, unsigned char ucPins);//该函数实际上是通过调用函数

GPIODirModeSet( )GPIOPadConfigSet( )实现的,将指定管脚设置为输入模式

void GPIOPinTypeGPIOInput(unsigned long ulPort, unsigned char ucPins)

{

//

// Check the arguments.

//

ASSERT(GPIOBaseValid(ulPort));

//

// Make the pin(s) be inputs.

//

GPIODirModeSet(ulPort, ucPins, GPIO_DIR_MODE_IN);

//

// Set the pad(s) for standard push-pull operation.

//

GPIOPadConfigSet(ulPort, ucPins, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD);

}

需要注意的是,虽然GPIOPinTypeGPIOInput(unsigned long ulPort, unsigned char ucPins)是由GPIODirModeSet( )GPIOPadConfigSet( )实现的,但是在设置输入端口是一定要注意,如果硬件电路没有设计上拉电阻,则不能用GPIOPinTypeGPIOInput()设置端口为输入,因为此函数并没有设置上拉。而应该用GPIODirModeSet( )GPIOPadConfigSet( )实现,在GPIOPadConfigSet( )中设置端口为上拉,否则会无法读取按键信息。如:

/*设置为输入端口*/

GPIODirModeSet(GPIO_PORTF_BASE, GPIO_PIN_1, GPIO_DIR_MODE_IN);

/*设置KEY强度和类型,2mA的输出驱动强度,设置为上拉管脚*/

GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_1, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);

GPIO_PIN_TYPE_STD//推挽

GPIO_PIN_TYPE_STD_WPU//带弱上拉的推挽

GPIO_PIN_TYPE_STD_WPD//带弱下拉的推挽

GPIO_PIN_TYPE_OD//开漏

GPIO_PIN_TYPE_OD_WPU//带弱上拉的开漏

GPIO_PIN_TYPE_OD_WPD//带弱下拉的开漏

GPIO_PIN_TYPE_ANALOG//模拟比较器


参考:

1stellaris固件库说明文档

2、网络资源




关键词: LM3S811 学习 笔记 简介 端口 模式 设置

专家
2013-02-27 10:40:57 打赏
2楼

不错 顶一个


工程师
2013-02-27 12:32:17 打赏
3楼
谢谢 分享

高工
2013-02-27 13:12:22 打赏
4楼
顶一个

助工
2013-02-27 14:55:34 打赏
5楼
顶!!

高工
2013-03-06 12:27:14 打赏
6楼

GPIO点灯,所有MCU入门的第一步。

点灯时候需要明白MCU的频率之类的,有PLL的还得弄上PLL。内部振荡器外部振荡器怎么选择,怎样切换时钟什么的

还得计算好时钟周期,以便得到闪烁频率。


院士
2013-03-06 13:25:00 打赏
7楼
LM3S系列的时钟配置还是比较简单的,也不像stm32每个外围都需要分配时钟

共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]