আমি এখানে একটি সি কোড করছি যা এমএসপি 430 লঞ্চপ্যাডে চালিত হয়। আমার এখানে যা করা দরকার তা হল প্রোগ্রামটি পরিবর্তন করা, যাতে বোতামটির ধাক্কায়, 4 টি বিভিন্ন মোডের মাধ্যমে মাইক্রো চক্র:
- LED2 বন্ধ থাকাকালীন LED1 ফ্ল্যাশ হয়
- LED1 বন্ধ থাকাকালীন LED2 ফ্ল্যাশ হয়
- একসাথে LED1 এবং LED2 ফ্ল্যাশ
- বিকল্পভাবে LED1 এবং LED2 ফ্ল্যাশ
একসাথে এবং বিকল্পভাবে উভয়ই এলইডি ফ্ল্যাশ করতে আমি কী করতে পারি তা আমি এখানে বেশ বুঝতে পারি না। এসডাব্লু 2 উচ্চ এবং এর বিপরীতে যদি LED1 ফ্লাশ হয় এবং LED2 বন্ধ থাকে। অন্য দু'জন কীভাবে কাজ করবেন?
এখন পর্যন্ত যা করা হয়েছে তা এখানে:
#include <msp430.h>
#include "msp430g2553.h"
int sw2=0;
int main(void)
{
WDTCTL = WDTPW | WDTHOLD; //stop watchdog timer
P1DIR = 0x00; //port 1 all inputs
P1DIR |= (BIT0 | BIT6); //set P1.0 and P1.6 as outputs (LED1, LED2)
P1REN |= BIT3; //activate resister on P1.3
P1OUT |= BIT3; //make it pull up because SW2 is active low
for(;;)
{ sw2 = P1IN; //read values from P1
sw2 &= BIT3; //mask out only BIT3 where SW2 is connected
if (sw2 == BIT3)
{ //if SW2 is high
P1OUT &= ~BIT6; //turn LED2 off
P1OUT ^= BIT0; //toggle LED1
__ delay_cycles(50000); //delay 50,000 micro seconds
}
else
{ //else (SW2 is low)
P1OUT &= ~BIT0; //turn LED1 off
P1OUT ^= BIT6; //toggle LED2
__delay_cycles(200000); //delay 200,000 micro seconds
}
}
// end of infinite loop
}
//end of main