Forum: Mikrocontroller und Digitale Elektronik MSP430 trouble Reading Memory


von Carl S. (nebur)


Lesenswert?

Hi, ich habe ein MSP430F6638 auf einem PZ100USb board mit einem SHT25 
über I²C verbunden und führe Messungen durch. Das funktioniert auch 
soweit alles Problemlos. Das Problem tauchert erst auf wenn ich beim 
Code Composer Studio(v5) im Debug Modus die Messungen in einem Graph 
ausgeben lasse. Nach einiger Zeit, manchmal nach 4 Messungen manchmal 
erst nach 1500 Messungen, kommt auf jeden Fall die Nachricht: " MSP430: 
Trouble Reading Memory Block at 0x457a (dort werden die Messungen in 
einem Array gespeichert) on Page 0 of Length 0x320. Could not read 
device memory"
Meine Frage wäre ob jemand schon mal so ein Problem hatte und ob jemand 
einen Lösungsansatz wüsste.

hier ist mal mein Code der Main(), auch wenn der Fehler nur auftaucht 
wenn ich die Werte in einem Graph ausgeben lasse.
1
void main (void) {
2
  WDTCTL = WDTPW + WDTHOLD;            // Stop watchdog timer to prevent timeout reset
3
  init();
4
  I2C_init(SHT25,SHT25_CLK);
5
6
  P1DIR |= 0x01;
7
  P6SEL |= 0x01;                            // Enable A/D channel A0
8
  ADC12CTL0 = ADC12ON+ADC12SHT0_8+ADC12MSC; // Turn on ADC12, set sampling time
9
                    // set multiple sample conversion
10
  ADC12CTL1 = ADC12SHP+ADC12CONSEQ_2;       // Use sampling timer, set mode
11
  ADC12IE = 0x01;                           // Enable ADC12IFG.0
12
  ADC12CTL0 |= ADC12ENC;                    // Enable conversions
13
14
  DAC12_0CTL0 = DAC12IR + DAC12SREF_1 + DAC12AMP_5 + DAC12CALON;
15
  DAC12_0CTL0 |= DAC12ENC;     // Enable DAC12
16
17
  while(1){
18
    time_1++;
19
    if(time_1>=100){
20
      ADC12CTL0 |= ADC12SC;
21
      DAC12_0DAT = ADC12MEM0;
22
      time_2++;
23
      if(time_2>=400){
24
        P1OUT^=0x01;
25
        SHT25_Measurement(1);
26
        SHT25_Measurement(0);
27
        P1OUT^=0x01;
28
        time_2=0;
29
      }
30
    time_1=0;
31
    }
32
33
  }
34
}

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Carl S. schrieb:
> Das Problem tauchert erst auf wenn ich beim Code Composer Studio(v5) im
> Debug Modus die Messungen in einem Graph ausgeben lasse.

Ist das denn nötig?

von Carl S. (nebur)


Lesenswert?

Ja, es sei denn ich könnte den Graph mit einem anderen Programm 
ausgeben. Meine Arbeitgeber möchten sozusagen "live" die 
Temperaturschwankungen sehen.

von ert (Gast)


Lesenswert?

Also ich arbeite intensiv mit MSP430 und CCS von Version 4 bis jetzt 6.1 
und gelinde gesagt würde ich dem PRogramm eher wenig Langzeitstabilität 
zutrauen, gerade in so "live" Messungen wie du sie angezeigt haben 
willst.

Habe ich aber real auch noch nie versucht, aber den Fehler den du 
beschreibst mit trouble... und dann kann man nicht mehr debuggen hatte 
ich natürlich schon tausende male.


Bin grade zu faul deinen MSP nachzuschlagen, falls er USB onboard hat, 
was ich glaube kannst du "relativ" einfach :) eine CDC Schnittstelle 
programmieren ( COM Port) und dann die Daten an ein Terminalprogramm 
schicken wie HTerm, dann musst du nix mehr debuggen und der Code läuft 
einwandfrei.

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.