S.D.Lu的MSP430入门学习笔记GPIO.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
S.D.Lu的MSP430入门学习笔记GPIO

S.D.Lu的MSP430入门学习笔记 2 :GPIO 本实验所用的硬件是TI的MSP-EXP430G2 LaunchPad 试验板。 原理图如下。 软件在一篇的基础上进行修改。 将main函数改为如下内容: 编译完成后,点击下载调试按钮,将代码下载到实验板上。 P1.0和P1.6上的LED轮流点亮和熄灭。 代码解释: 9~11行,对IO端口进行设置时,用到了BITx。这是头文件中定义的,用于位操作的宏定义,比较方便的操作各个IO端口。 因为MSP430的IO是双向的,所以在使用之前需设置其方向。 15行,定义了一个变量i,在IAR环境下允许用户在程序段中间定义变量。 17行,将P1.0和P1.6的输出和 BIT0 + BIT6 进行异或,其结果相当于将P1.0和P1.6输出进行取反。 GPIO的一般操作 如果不涉及片内外设,对GPIO的操作只涉及4个寄存器:PxDIR、PxOUT、PxIN、PxREN。 PxDIR用于设置GPIO的方向,PxOUT用于设置输出值,PxIN用于读取输入值。PxREN用于GPIO内置的上拉/下拉电阻。当PxREN.bit 1,上拉/下拉电阻被使能,PxOUT.bit 0为下拉, 1为上拉。 具体如何操作,可参考TI官方例程“msp430g2xx2_P1_01.c”、“msp430g2xx2_P1_03.c” 两个程序运行的结果都是:P1.0的输出跟随P1.4的输入电平变化。 对于不使用的IO应避免设置成悬空输入。 P1、P2口的中断 MSP430的P1、P2口每一个引脚都有中断的功能,P1的所有引脚的中断共用一个中断向量,P2口与P1口类似。P1、P2口中断功能相关的寄存器有3个,PxIFG、PxIE和PxIES。 PxIFG是中断标志寄存器,用于指示哪一个IO上产生了中断。PxIE是中断使能寄存器,PxIES是中断边沿选择寄存器。各个寄存器取值所对应的功能请参考《用户指南》。 P1、P2口中断功能的使用可参考TI官方例程“msp430g2xx2_P1_02.c”、“msp430g2xx2_P1_04.c”,这两个例程分别是在TI官方例程“msp430g2xx2_P1_01.c”、“msp430g2xx2_P1_03.c”基础上修改的,将IO输入识别功能用中断功能来实现。 msp430g2xx2_P1_02.c的代码如下: 该程序运行结果是,P1.4口每出现一个下降沿,P1.0口电平改变一次。 代码分析: 75行,使能P1.4口中断。 76行,P1.4口中断边沿选择为下降沿。 77行,清除P1.4口中断标志位。 79行,使能全局中断,并进入低功耗模式LPM4。至此主函数停止运行。 _BIS_SR ;是一个本征函数,由IAR开发环境提供,没有公开代码。作用是将状态寄存器SR中的指定位置1。SR的各位定义可在用户指南的CPU寄存器章节中找到: _BIC_SR ;的作用和_BIS_SR ;相反,用于将SR中的指定位清0。 _BIS_SR_IRQ 、_BIC_SR_IRQ 和上述两个函数的作用相同,只是它们在中断函数返回时使用。 83~88行是中断函数,87行是清除P1.4口中断标志位后退出中断函数,如果没有清除相应中断标志位,则退出后又会立即产生。 在IAR for 430环境下中断函数的编写格式如下: 其中,中断向量偏移地址在芯片相应的头文件中已经定义。如在msp430g2452.h中定义了MSP430G2452的所有中断向量偏移地址,其基地址为0xFFE0。 另外需要注意的是,改变PxOUT或PxDIR时,可导致PxIFG的相应位置1从而产生中断。 GPIO的外设功能选择 端口引脚通常与其它外设模块功能复用,引脚的功能可以通过功能选择寄存器PxSEL和PxSEL2来进行设定。具体选择的是什么功能,可参考器件对应的数据手册,找到TERMINAL FUNCTIONS章节,查看其引脚的功能分配真值表,如下图。需要使用某个引脚的特定功能,就将相应寄存器的值设置成表格中对应的值即可。 作者:S.D.Lu 深圳 2014-3-23

文档评论(0)

dashewan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档