//LED2受控于 用户按钮,按下灭,否则亮
#include "msp430g2231.h"
void main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
P1DIR=0xff&(~BIT3); //p1.3设为输入
while(1){
if((P1IN&BIT3)==BIT3)//如果拉低
P1OUT|=BIT6; //LED2亮
else
P1OUT=~BIT6; //LED2灭
}
}
…… 成功
努力学习中
[ 本帖最后由 fxyc87 于 2011-9-20 14:03 编辑 ]引用: 原帖由 fxyc87 于 2011-9-20 11:19 发表 //LED2受控于 用户按钮,按下灭,否则亮#include "msp430g2231.h"void main( void ){ // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; P1DIR=0xff&(~BIT3); &n ...
顶顶,加油。
引用: 原帖由 fxyc87 于 2011-9-20 11:19 发表 //LED2受控于 用户按钮,按下灭,否则亮#include "msp430g2231.h"void main( void ){ // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; P1DIR=0xff&(~BIT3); &n ...
提两个建议吧:
1、P1DIR=0xff&(~BIT3);前面那个0xff&可以省略。
2、对于按键这种会有悬空输入的时候,别忘了开启上拉,P1REN |= 0x08;
引用: 原帖由 David_Lee 于 2011-9-20 14:30 发表 提两个建议吧: 1、P1DIR=0xff&(~BIT3);前面那个0xff&可以省略。 2、对于按键这种会有悬空输入的时候,别忘了开启上拉,P1REN |= 0x08;
谢谢,我拿到板后才开始学习这个单片机,不知道默认情况下P1DIR的值,
建议2,谢谢建议,学习了,开启上拉~ 学习……
下了几个手册,没发现这个 P1REN 寄存器,呵,我以为设为输入时默认是上拉的呢?
[ 本帖最后由 fxyc87 于 2011-9-20 17:09 编辑 ]引用: 原帖由 fxyc87 于 2011-9-20 17:06 发表 谢谢,我拿到板后才开始学习这个单片机,不知道默认情况下P1DIR的值,建议2,谢谢建议,学习了,开启上拉~ 学习…… 下了几个手册,没发现这个 P1REN 寄存器,呵,我以为设为 ...
呵呵,我也是用你的代码对比TI的Example Code看到的。
引用: 原帖由 David_Lee 于 2011-9-20 14:30 发表 提两个建议吧: 1、P1DIR=0xff&(~BIT3);前面那个0xff&可以省略。 2、对于按键这种会有悬空输入的时候,别忘了开启上拉,P1REN |= 0x08;
https://bbs.eeworld.com.cn/thread-289019-1-1.html 看此贴,好像上拉下拉只对输出有效~ 输入好像本来就上拉的,不用设,刚特意用万用表测了一下,证明默认情况下,引脚是3.3V,高电平的,~呵~