|
求助!关于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 我还是不知道它是什么意思啊。 (本人学机械自动化的,现大二,对计算机的一些东西理解较少)
麻烦各位,前辈了!!!
|
|