3657|2

222

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

关于MSP430的上拉下拉电阻配置 [复制链接]

好久没有用MSP430,上学期接触到开源硬件,觉得非常有趣。最近想拿到从老师拿了一块(发现老师有好多),试着玩一下。我通过中断方式来按键,控制P1口的其他引脚输出连接到7个LED灯。按一次键盘就取一次反。应该是挺简单的。没想到被上拉电阻坑到了,因为之前用的是F169不能配置上拉下电阻。 原来的程序是这样的
  1. #pragma vector = PORT1_VECTOR
    __interrupt void KEY(void)
    {
    unsigned int i;
    for(i=0;i<65535;i++);
    if(P1IFG&BIT3)
    {
    P1OUT ^= 0xff;
    P1IFG &= ~0x08;
    P1REN |= BIT3;
    }
    if(!(P1IFG&BIT3))
    P1IFG &= ~0x08;
}
复制代码
发现每次只进一次中断,然后就不再进中断,一直以为是标志位没有清零。弄了好久。突然想到上拉电阻,因此不能对P1OUT中的BIT3随意设置。需要保持为高电平。上面的程序就是犯了这样的错误。
改正后就能够再次进中断
  1. #pragma vector = PORT1_VECTOR
    __interrupt void KEY(void)
    {
    unsigned int i;
    for(i=0;i<65535;i++);
    if(P1IFG&BIT3)
    {
    P1OUT ^= BIT0 + BIT1 + BIT2 + BIT4 + BIT5 +BIT6 + BIT7;
    //P1OUT ^= 0xff;
    P1IFG &= ~0x08;
    P1REN |= BIT3;
    }
    if(!(P1IFG&BIT3))
    P1IFG &= ~0x08;
}
复制代码
大家用到这个时候需要小心,此外因为内部可以配置上拉电阻,不要再外接电阻。如果接电阻可能会有影响。
此帖出自单片机论坛

最新回复

中断中的延时函数。。。。。。。。。。  详情 回复 发表于 2014-10-16 20:24
点赞 关注
 

回复
举报

2781

帖子

419

TA的资源

五彩晶圆(中级)

沙发
 
中断中的延时函数。。。。。。。。。。
此帖出自单片机论坛

点评

用来消抖的,有什么好的写法  详情 回复 发表于 2014-10-16 20:38
 
个人签名
 

回复

222

帖子

0

TA的资源

一粒金砂(高级)

板凳
 
qinkaiabc 发表于 2014-10-16 20:24
中断中的延时函数。。。。。。。。。。

用来消抖的,有什么好的写法
此帖出自单片机论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表