Forum: Mikrocontroller und Digitale Elektronik MSP430F169 Interrupt mit NoICE


von taxcon (Gast)


Lesenswert?

Guten Tag!

Ich versuche mit NoICE folgenden Code zu debuggen:

#include <msp430x16x.h>
#include <msp430def.h>

void clock_init()
{
  //DCO=0x00
 DCOCTL=0x00;
 BCSCTL2=0xCE;//SELM.1,SELM.0,SELS,DIVS.1,DIVS.0
 BCSCTL1=0xF0;//XT2OFF,XTS,DIVA.1,DIVA.0...xt1=8MHz
}

void port_init()
{
 P1OUT=0x01;
 P1DIR=0xFF;
 P1IES=0x00;
 P1IE=0x01;
 P1SEL=0x00;
 P2OUT=0x00;
 P2DIR=0xFF;
 P2IES=0x00;
 P2IE=0x00;
 P2SEL=0x00;
 P3OUT=0x00;
 P3DIR=0x00;
 P3SEL=0x00;
 P4OUT=0x00;
 P4DIR=0x00;
 P4SEL=0x00;
 P5OUT=0x00;
 P5DIR=0x00;
 P5SEL=0x00;
 P6OUT=0x00;
 P6DIR=0x00;
 P6SEL=0x00;
}


void init_devices(void)
{

 DINT();
 ME1=0X00;
 ME2=0X00;
 IE1=0x00;
 IE2=0x00;
 WDTCTL=0x5A00 | 0x00;
 clock_init();
 port_init();

 ME1=0x00;
 ME2=0x00;
 IE1=0x00;
 IE2=0x00;
 EINT();
}


#pragma interrupt_handler port1_isr:PORT1_VECTOR
void port1_isr(void)
{
P2OUT=0xFF; //isr für P1 int
}

void main(void)
{
 int i;
 init_devices();
 WDTCTL=WDTPW+WDTHOLD;
 _EINT();

for (;;)
 {
 P1OUT=0x01;
  for(i=1;i<100;i++)
   {
   }
 P1OUT=0x00;
  for(i=1;i<100;i++)
   {
   }
  }
}
Ich setze per Add Watch unter NoICE: 0x0021 (P1OUT) und 0x0029(P2OUT)
und dann animiere ich mit einer Pause von 10ms. Der Port P1 togglet
aber der INterrupt wird nicht ausgelöst...jedenfalls geht P2 nicht wie
er soll auf 0xFF. Kann jemand helfen?

mfg taxcon

PS: Was bedeutet die Fehlermeldung des Debuggers: "Breakpoit would
overlap the instruction pointed by the prgram counter."?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.