ADC landet beim LM3S6965 im Interrupt-Handler

OP #1680025
Lesenswert?

Hallo,

ich versuche zur Zeit den ADC am LM36965 zum Laufen zu bringen. Bisher 
bin ich immer ganz gut mit dem Democode von StellarisWare gefahren. 
Diesmal allerdings weiß ich nicht so recht weiter.

Hier erstmal der Code:


unsigned long ulValue;
  //
  // Enable the first sample sequence to capture the value of channel 0 
when
  // the processor trigger occurs.
  //
  ADCSequenceConfigure(ADC_BASE, 0, ADC_TRIGGER_PROCESSOR, 0);
  ADCSequenceStepConfigure(ADC_BASE, 0, 0, ADC_CTL_IE | ADC_CTL_END | 
ADC_CTL_CH0);
  ADCSequenceEnable(ADC_BASE, 0);
  //
  // Trigger the sample sequence.
  //
  ADCProcessorTrigger(ADC_BASE, 0);
  //
  // Wait until the sample sequence has completed.
  //
  while(!ADCIntStatus(ADC_BASE, 0, false))
  {
  }
  //
  // Read the value from the ADC.
  //
  ADCSequenceDataGet(ADC_BASE, 0, &ulValue);


Bei ADCSequenceConfigure lande ich allerdings in IntDefaultHandler()... 
theoretisch sollte dies aber nicht passieren - schließlich triggere ich 
ja extra nicht über einen Interrupt. Kann mir jemand weiterhelfen?

Vielen Dank schonmal,
Jan
OP #1680444
Lesenswert?

Prinzipiell ist das natürlich ein Indiz für Interrupts und ich habe es 
auch mal getestet. Nach wie vor funktioniert es aber nicht.
Bei dem Interrupt, welcher aufgerufen wird, handelt es sich wie gesagt 
um den Bus Fault Interrupt. Das selbe geschieht auch, wenn ich den 
Democode für die Analog-Komparatoren teste.

Ich wäre echt dankbar für jedes Stück funktionstüchtigen Democode.
Gast #2936477
Lesenswert?

Ist zwar schon ne Weile her, aber falls es noch jemand interessiert ;-)

Ich hatte das gleiche Problem und habe es folgendermaßen lösen können:

Ein Dummy Read nach dem "PeripheralEnable" sorgt für zeitlich genügend 
Abstand damit die Initialisierung auch tatsächlich beendet wird, bevor 
das nächste Mal auf das Modul zugegriffen wird.
Steht auch in dieser Form in der Beschreibung der Peripheral Driver 
Library. Dort auch der Hinweis dass dies zum einem "Bus Fault" führt.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren