MSP430 auf 16MHZ falsch?

OP #2951929
Lesenswert?
• ▲
▼
Hallo zusammen,
Zur Info:
Ich habe ein MSP-FET430U28A mit einem MSP430G2452 uC.

Um eine Zeitmessung durchzuführen habe ich ein simples Programm 
geschrieben und den uC an ein Osz. angeschlossen.
Den uC möchte ich auf 16MHz einstellen und die Periodenwechsel am Osz. 
anzeigen lassen.

Mein Problem ist, das am Osz. angezeigt wird, das Pro Flankenwechsel ca. 
400ns gebraucht werden, jedoch müsste dieser doch ca. bei 62ns liegen.

Jetzt meine Frage:
Habe ich einen Rechenfehler gemacht, stelle ich die 16MHz im Programm 
falsch ein, oder hat dies andere Gründe?

Liebe Grüße und besten Dank für Antworten

Code:
1
#include <msp430G2452.h>
2

3
void main(void){
4

5
  WDTCTL = WDTPW | WDTHOLD;
6

7
  BCSCTL1 = CALBC1_16MHZ;
8
  DCOCTL = CALDCO_16MHZ;
9

10

11
  P1DIR |= BIT0;
12
  P1SEL = 0x00;
13

14
  while(1){
15
    P1OUT ^= BIT0;
16
  }
17
}
Gast #2951935
Lesenswert?
• ▲
▼
Hi

>Jetzt meine Frage:
>Habe ich einen Rechenfehler gemacht, stelle ich die 16MHz im Programm
>falsch ein, oder hat dies andere Gründe?

Meinst du im Ernst, das das

>  while(1){
>    P1OUT ^= BIT0;
>  }

In einem Controllertakt ausgeführt wird?

MfG Spess
Gast #2951954
Lesenswert?
• ▲
▼
Hi

>Also braucht er dafür doch mehr Zeit und das mit den gemessenen 400ns
>stimmt bzw könnte hinkommen?

Klar. Das sind einige Assemblerbefehle, die 1..2 Takte brauchen.

Sieh dir doch einfach an, was der Compiler daraus macht.

MfG Spess
Gast #2952030
Lesenswert?
• ▲
▼
Wenn du jetzt noch irgendeien Zeile Code dazufügst in deiner while(1) 
Schleife, wird sich deine Taktung wieder ändern, daher misst man Zeiten 
immer in Interrupts, weil man dann eine genaue Zeitbasis zugrunde legen 
kann.

Aber dafür musst du wahrscheinlich noch ein bisschen mehr über C und 
MSP430 wissen, um das zu programmieren.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.