Hallo, wie kann ich bei einem MSP430 (F449) die SMCLK, MCLK, ACLK mit einem Oszi messen? Grüße
Lt. Datenblatt kannst Du die Signale an folgenden Pins abgreifen: Pin 82 (P1.5): ACLK Pin 83 (P1.4): SMCLK Pin 86 (P1.1): MCLK Wenn mich nicht alles täuscht, sollte es reichen, die entsprechenden PxSEL und PxDIR zu setzen, damit die Signale an die Pins durchgeschaltet werden. Probiere es halt aus.
Ja ist richtig, SEL und evt. DIR setzen, dann kommt der CLK raus.
habe folgendes versucht:
P1SEL = 0x32; // xx11 xx1x = Pins werden nicht als I/O
// verwendet, sondern als
// Peripheral Funktion (ACLK...)
P1DIR |= 0x32; // xx11 xx1x
// 1 = P1.1 = MCLK
// 1 = P1.4 = SMCLK
// 1 = P1.5 = ACLK
jedoch leider ohne Erfolg.
Muss man evtl. einen externen pull-up vorsehen um überhaupt etwas
messen zu können?
In der i/o schematic erkenne ich nichts...
Wie sieht denn die externe Beschaltung der 3 Pins in Deiner Applikation aus?
here we are:
#include <msp430x44x.h>
int main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop Watchdog Timer WDT
FLL_CTL0 |=0x30;
P1SEL = 0x32; // 0011 0010 = Pins werden nicht als I/O
verwendet
// sondern als Peripheral Funktion
(ACLK...)
P1DIR |= 0x39; // 0011 1010
// 1 = P1.1 = MCLK
// 1 = P1.3 = LED
// 1 = P1.4 = SMCLK
// 1 = P1.5 = ACLK
TACTL = TASSEL_1 + MC_2 + ID_0; // Timer A Init
TACCTL0 = CCIE;
TACCR0 = 32767;
// gehe schlafen
_BIS_SR(LPM3_bits + GIE);// (CPUOFF); // Enter LPM0
}
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A(void)
{
P1OUT ^= 0x08; // Toggle P1.3
TACCR0 += 32767;
}
Lass den Controller mal nicht schlafen, könnte daran liegen, dabei wird ja alles ausgeschaltet.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.