430点亮任意LED

2019-07-15 16:23发布

为什么先P6DIR |= 0x03;设置为P6^0和P6^1输出模式,再P6OUT &= 0xfd;让P6^0置高让P6^1置低,为什么P6^0和P6^1两个灯都亮呢?很是奇怪是不是哪里不符合规则?
LED位低电平亮高电平位灭。
#include "MSP430F149.h"
int main( void )
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  P6DIR |= 0x03;       //设置IO方向为输出
  P6OUT &= 0xfd;
  return 0;
}


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
傻瓜♥_牵着我__
1楼-- · 2019-07-15 19:44
我再补充一点,我的意思是对位操作是不是先操作PXDIR指定方向,才能对指定的输出/入寄存器进行操作?
电子缘工作室
2楼-- · 2019-07-15 20:33
发下你的LED灯接法
傻瓜♥_牵着我__
3楼-- · 2019-07-15 21:24
低电平亮,高电平灭,属于共阳极接法
PandaChing
4楼-- · 2019-07-16 03:15
 精彩回答 2  元偷偷看……
anyfsy
5楼-- · 2019-07-16 03:49
不错哦。。。。。。。。。
旺仔棒棒糖
6楼-- · 2019-07-16 09:07
PandaChing 发表于 2014-9-12 15:41
P6OUT &= 0xFD;   这个只是把P6.1清零,P6.0没有置1。再加个"P6OUT |= 0x01;"试试

正解,这个并没有把P6.0置低

一周热门 更多>