Advertisement
Guest User

msp430blink_debug_problem_c

a guest
Apr 16th, 2013
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.90 KB | None | 0 0
  1.  
  2. /**
  3. Delay function.
  4. */
  5. void delay(unsigned int d) {
  6.    int i;
  7.    for (i = 0; i<d; i++) {
  8.       nop();
  9.       nop();
  10.    }
  11. }
  12.  
  13.  
  14.  
  15. //Normaler Arbeitsmodus
  16. // ACLK =12kHz
  17. // MCLK =7.3728MHz
  18. // SMCLK=7.3728MHz
  19. void onXT2Clock(void)
  20. {
  21.  
  22.  
  23.  BCSCTL3 = LFXT1S_2;                                    // set LFXT1 to VLOCLK
  24.  BCSCTL2 = SELM_0 + DIVM_0 + DIVS_0;
  25.  BCSCTL1 = DIVA_0 + 0x07/*+ RSEL_7*/;                   // XT2 On
  26.  BCSCTL3 |= XT2S_2;                                     // 3 - 16-MHz crystal or resonator
  27.  
  28.  do
  29.   {
  30.    IFG1&=~OFIFG;
  31.    delay(5000);
  32.   }
  33.  
  34.  while(IFG1 & OFIFG);                                   //wait, while OFIFG is set
  35.   delay(1024/7);                                        // mind. 1024 Clock-Zyklen abwarten
  36.   IFG1&=~OFIFG;
  37.                                                         //MCLK source is XT2, MCLK div is 1
  38.                                                         //SMCLK source is XT2, SMCLK div is 1
  39.  BCSCTL2|= SELM_2 + DIVM_0 + SELS + DIVS_0;
  40. }
  41.  
  42.  
  43. //Normaler Arbeitsmodus
  44. // ACLK =12kHz
  45. // MCLK =1MHz
  46. // SMCLK=1MHz
  47. void defaultClock(void)
  48. {
  49.  DCOCTL  = 0x60;/*DCO_3*  + MOD_0;*/
  50.  BCSCTL1 = XT2OFF + DIVA_0 + 0x07/*+ RSEL_7*/;
  51.  BCSCTL2 = SELM_0 + DIVM_0 + DIVS_0;
  52.  BCSCTL3 = LFXT1S_2;
  53. }
  54.  
  55. void initIO(void)
  56.  {
  57.  
  58.   P3DIR = 0x5F;                                                     //P3 out, P3.5/P3.7 in
  59.   P3SEL = 0x00;                                                     //P3 keine Functions
  60.   //P3SEL2 = 0x00;
  61.   P3OUT = 0x00;                                                     //P3 off
  62.   P3REN = 0x00;                                                     //P3 kein Pu/Pd Resistor
  63.  
  64.  }
  65.  
  66. /**
  67. Main function with some blinking leds
  68. */
  69. int main(void) {
  70.     int i;
  71.     int o = 0;
  72.     char buf[100];
  73.  
  74.     WDTCTL = WDTPW|WDTHOLD;               //Init watchdog timer
  75.  
  76.     onXT2Clock();
  77.     initIO();
  78.  
  79.     P3DIR  = P2DIR_INIT;                //Init port direction register of port2
  80.  
  81.     for (i = 0;i<100;i++){
  82.         if(i&1)
  83.             buf[i] = 0;
  84.         else
  85.             buf[i] = 3;
  86.     }
  87.  
  88.    // memset(buf,0xAA,100);
  89.     while (1) {                         //main loop, never ends...
  90.         for (i=0; i<8; i++, o++) {
  91.             P3OUT = buf[i];
  92.            delay(0x4fff);
  93.         }
  94.     }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement