6350|6

5

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

求助!关于msp430 I/O 口和寄存器使用的问题 [复制链接]

求助!
我刚刚开始学习使用单片机,msp430也是我第一个接触的单片机。  目前使用的是 msp430G2553  的LaunchPad来学习。
有如下一些问题,自己无法确认和解决的。
(1)  我从一些资料知道430 是通过 寄存器来控制其操作的。 如: P1DIR |=BIT0  这个操作,我的理解是  P1DIR 是指 P1端的方向寄存器,BIT0是指 P1端中的 0 位 。  具体就是指 P1.0 这个引脚。  然后再通过  P1DIR 这个方向寄存器  和   BIT0这个位, 按位进行或运算得出的数值赋值给  P1DIR  寄存器 。最后通过  P1DIR=1 还是 0  来判断P1.2 是输出还是输入。
不知道我这样理解是不是有问题?
(2)  如果我以上理解没错的话 。P1DIR |=BIT0  是把 P1.0 引脚设为输出的,而 PxDIR  寄存器的初始值我查出来是 0,也就是说 BIT0  的初始值是 1 ?  如果是的话  那所有的 BITx 位的初始值都是 1 吗?
(3)   I/O 口 和  寄存器 的使用 如: P1OUT |=BIT0 ,  P1DIR &=~BIT0  ,if(P1IN & BIT0)之类的是否都是像我这种思路理解的? 如果不是,我该如何理解?
(4)  P1DIR |=BIT0 和  P2DIR |=BIT0  中的  BIT0有何区别? 是否只是各自P1,P2端寄存器中的 0 位?  还有我该如何正确 BITx  这个概念?
(5)  像 if (P1IN & BIT0)  , P1IES &=~BIT0 之类来判断是有外来信号的。 外来的信号是直接进入寄存器 赋值给寄存器,还是进入BIT0?  
(6)   如果以上问题我的理解全部错误 那....我该如何正确  I/O 口和寄存器,BITx 位 的关系  ?  P1DIR |=BIT0  中的  |=  如何理解? 它 还是一个 位运算符号吗?  还是有其他涵义?
(7)   在msp430的程序中 符号 我很难理解  如:  TACTL=TASSEL0+TACLR ,  _BIS_SR(SCG1) .........之类的。 有些我通关过查资料找到了它们的涵义,也能理解语句的意思。可有些真心不好理解,连头绪都没有,像 中断函数中的  vector  我完全无法理解为什么这里会出现一个矢量!(插一句,430中的矢量是指什么?)   还有 SCG1  我完全不知道它是什么!  
我知道这里我无法理解的原因我因为对 430 原理理解不够,接触的时间太短。  可是有时候突然看到 一个看不懂的东西,真心难受啊!
所以我最想问下,我该如何学习去看懂它。  有人告诉我 去看头文件,和一些原理。原理之类的资料我现在在慢慢的学习中,可是头文件看不懂.......如: WDTIE           = 0x0001   我还是不知道它是什么意思啊。  (本人学机械自动化的,现大二,对计算机的一些东西理解较少)
麻烦各位,前辈了!!!

最新回复

这些还是很基础的问题 建议好好地看看芯片结构 和寄存器操作方法  详情 回复 发表于 2015-5-2 16:03

点评

感谢各位前辈的帮助!那本好书已收到! 幸好理解没有多大错,那就好办多了(如果理解错,那就麻烦啦)........我先去自己思考思考,有问题再向各位求助. :loveliness:  详情 回复 发表于 2013-5-7 17:07
 
点赞 关注(1)

回复
举报

2781

帖子

417

TA的资源

五彩晶圆(中级)

沙发
 
(1)可以这么理解
(2)BIT0  的定义在头文件中有。


(3)是这种思路。或操作是置相应位为1,不影响原来寄存器的其他值。&操作是清零对寄存器的其他位有影响。
(4)请看(2)。
(5)给P1IN 寄存器读取引脚值。BIT0只是事先定义好的值,请看(2)。
(6)理解还可以,再接再厉,图书馆去借本书会更给力。
(7)TACTL是寄存器名,数据手册里有。TASSEL0、TACLR 、 _BIS_SR(SCG1)等也是在头文件中已经定义好了,方便开发人员快速开发。vector  有专门的中断向量表,请找书看。SCG1  :头文件中有定义,也就是个值,不必太纠结。

希望能帮到楼主!
 
个人签名
 

回复

2781

帖子

417

TA的资源

五彩晶圆(中级)

板凳
 
送楼主一般好书,祝好运。

MSP430_Family_Users_Guide(中文版).pdf (5.07 MB, 下载次数: 302)
 
个人签名
 
 

回复

142

帖子

0

TA的资源

一粒金砂(中级)

4
 
中断的矢量其实是一个中断数组或者说是指针。一般一个MCU有多个中断源,每个中断源对应一个中断地址,发生中断时到这个地址去找中断程序。这一组中断一般有基地址加偏移量组成。
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(中级)

5
 
感谢各位前辈的帮助!那本好书已收到!
幸好理解没有多大错,那就好办多了(如果理解错,那就麻烦啦)........我先去自己思考思考,有问题再向各位求助.  
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(初级)

6
 
同样在纠结这些问题,多谢前辈们指教。
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

7
 
这些还是很基础的问题 建议好好地看看芯片结构 和寄存器操作方法
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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