- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LM3S心得
记录学习LM3S的点点滴滴
(声明:该学习心得是本人通过学习周立功的相关资料后的个人理解后的笔记,由于本人水平有限,也许会有错误或是偏差,若想要保证准确无误,建议自己去下相关资料学习,本心得只供参考,若有错误之处,敬请指出,万分感谢。鉴于我所看的资料以前论坛里已有人上传过,故不再这里再次上传,想要的可以到论坛里找找,也可以到周立功网站去下载:/luminary/exploitation_guide.asp)
一.GPIO口
LM3S的GPIO口给我的第一个感受就是他的功能不像51那样的单一,用户可以通过改变他的配置来改变他的工作方式,也可以通过软件设置来改变他的作用,一个普通的IO口既可以用作普通IO口用,也可以通过软件设置为I2C,CAN等功能。
1.工作模式的多样化
常用的工作模式有:高阻输入,推挽输出,开漏输出。高阻输入具有很高的等效输入阻抗,他能将缓慢变化的或是畸变的输入信号整成比较理想的矩形信号。推挽输出和开漏输出结构差不多,只是推挽输出比开漏输出多出一个晶体管,还有一个就是开漏输出没有内部上拉,所以用的时候要外接一个上拉。该部分可以通过以下函数来设置。
(1)函数GPIOPinTypeGPIOInput( )
设置所选GPIO端口指定的管脚为高阻输入模式
void GPIOPinTypeGPIOInput(unsigned long ulPort, unsigned char ucPins)
ulPort:所选GPIO端口的基址
ucPins:指定管脚的位组合表示
(2)函数GPIOPinTypeGPIOOutput( )
设置所选GPIO端口指定的管脚为推挽输出模式
GPIOPinTypeGPIOOutput(unsigned long ulPort, unsigned char ucPins)
ulPort:所选GPIO端口的基址
ucPins:指定管脚的位组合表示
(3)函数GPIOPinTypeGPIOOutputOD( )
设置所选GPIO端口指定的管脚为开漏输出模式
GPIOPinTypeGPIOOutputOD(unsigned long ulPort, unsigned char ucPins)
ulPort:所选GPIO端口的基址
ucPins:指定管脚的位组合表示
2.驱动能力的软件设置
在推挽输出的工作模式下,可以由用户设置输出电流为2mA,4mA,8mA,以及带转换速率控制的8mA驱动。该部分设置可以通过函数GPIOPadConfigSet( )来设置。
void GPIOPadConfigSet(unsigned long ulPort, unsigned char ucPins, unsigned long ulStrength, unsigned long ulPadType)
????? 设置所选GPIO端口指定管脚的驱动强度和类型
????? ulPort:所选GPIO端口的基址
????? ucPins:指定管脚的位组合表示
????? ulStrength:指定输出驱动强度,应当取下列值之一:
????? GPIO_STRENGTH_2MA // 2mA驱动强度
????? GPIO_STRENGTH_4MA // 4mA驱动强度
????? GPIO_STRENGTH_8MA // 8mA驱动强度
????? GPIO_STRENGTH_8MA_SC // 带转换速率(Slew Rate)控制的8mA驱
????? ulPadType:指定管脚类型。应当取下列值之一:
????? 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 // 模拟比较器
3.管脚内部接有钳位二极管
GPIO口内接有钳位二极管,以保证电压不致与过大或过小,保证输入电压在3.9V以下。若想要提高IO口的电压,可以通过接一个二极管,然后再接一个上拉电阻后接5V,其电压可达到4.5V.
4.GPIO口的节能化
51的IO口是只要上电的话就会有点压,可以工作,但是LM3S的则要用户对GPIO口进行使能后才能工作,也就是说没有使能的GPIO口是不能工作的,这样做会增加使用的复杂度,但是在另一方面,就是由于这样的设置使得LM3S能达到很低的功耗。该部分可以通过函数SysC
文档评论(0)