MSP430学习笔记2---两个LED同时亮灭和顺闪

参照学习笔记1,再看看板子上写着P1.0(LED1) P1.6(LED2)很容易写出同时点亮两个LED的程序:

 1 #include  <msp430x14x.h>
 2 
 3 void main(void)
 4 {
 5   WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer
 6   P1DIR |= 0x41;                            // Set P1.0 to output direction
 7 
 8   for (;;)
 9   {
10     volatile unsigned int i;
11 
12     P1OUT ^= 0x41;                          // Toggle P1.0 using exclusive-OR
13 
14     i = 50000;                              // Delay
15     do (i--);
16     while (i != 0);
17   }
18 }
View Code

如果顺闪的话在 P1DIR |= 0x41;    的后面加上  P1OUT = 0x01; 即可。

新的问题来了外接口默认输出是高电平还是低电平呢。写入如下代码

1 #include  <msp430x14x.h>
2 
3 void main(void)
4 {
5   WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer
6   P1DIR |= 0x41;                            // Set P1.0 to output direction
7  
8   for (;;);
9 }
View Code


运行了7、8次,发现除去一次两灯都不亮之外,都是LED2一个灯亮。不知道什么原因,LED1一直没亮,难道是巧合,下次拿示波器来试下就知道了。

ps:2013-12-9拿来示波器看下,发现默认是低电平

posted @ 2013-12-08 17:06  I know you  阅读(861)  评论(0编辑  收藏  举报