MSP430 Piezo Probleme

OP #4098091
Lesenswert?
• ▲
▼
Hallo zusammen,

vorab ein danke an alle für eure Hilfe.

Durch meinen letzten Beitrag im Forum bin ich schlauer geworden wie mit 
einem piezo über Programmierung des msp430 Töne erzeugt werden können.

Nach dem ich die Informationen alle hatte habe ich mich an die 
Programmierung gemacht:
1
#include <msp430.h> 
2
#include <msp430g2452.h>
3

4
#define BUZZER BIT4
5

6
/*4kHz = 1 mhz / 4kHz = 250 ccr
7
 * P1.4 BUZZER TA0.2
8
 */
9
int main(void) {
10
    WDTCTL = WDTPW | WDTHOLD;    // Stop watchdog timer
11

12
    DCOCTL = CALDCO_8MHZ;      //CPU Geschwindigkeit auf 8Mhz einstellen
13
    BCSCTL1 = CALBC1_8MHZ;
14
    BCSCTL2 = DIVS_3;        //Die SMCLK auf 1 MHZ einstellen mit dem vorteiler
15
                    //(8 (DCO/8 = 1Mhz))
16

17
    // Ports für den buzzer
18
    P1SEL = BUZZER;          //Ausgang timer a nutzen TimerA0.2
19
    P1SEL2 = BUZZER;
20
    P1DIR = BUZZER;
21

22

23
    //TimerA
24
    TA0CTL = TASSEL_2 + ID_0 + MC_1;// SMCLK für timer clock verwenden, up mode
25
    TACCR0 = 500;          // 2kHz; TimerA
26
    TACCR1 = 250;          // Länge der dauer von high und low
27
    CCTL1 = OUTMOD_7;        // Reset/ Set
28

29
   while(1){}
30
  //damit keine warnung
31
  //return 0;
32
}

ich nutze den folgende Piezo
http://media.digikey.com/pdf/Data%20Sheets/TDK%20PDFs/PS2220P02%20ENG3.pdf

leider kommt kein ton, auch nicht ein knacken was meiner meinung nach 
beim einschalten doch passiert sollte da der piezo doch Strom bekommt.

ich stell mir das vor wie erschrocken zu werden (kurz zucken und das war 
es) macht er aber leider nicht.

könntet ihr mir bitte helfen und einen blick über meinen code werfen?
muss ich eine ISR für die CCR0 & CCR1 erstellen?

danke
OP #4098179
Lesenswert?
• ▲
▼
Tim H. schrieb:
> TACCR1 = 250;          // Länge der dauer von high und low

Hallo Easy,

ich habe folgende Zeile geändert im Code, aber es tut sich nichts.
zum Verständnis.

die angaben im Datenblatt mit Timer_Ax.2 ....

da bezieht sich hinter dem Punkt die zahl auf das CCRx register?


ich habe nicht nach gedacht das dass Thema ja das gleiche ist 
Entschuldigung.
OP #4098245
Lesenswert?
• ▲
▼
Tim H. schrieb:
> CCTL1 = OUTMOD_7;        // Reset/ Set

hallo zusammen ich habe meinen Fehler gefunden.

danke Easy für die Hilfe.

habe das glaube ich jetzt verstanden.
Die angeben mit dem TA0.2 bedeuten das ich auch die CCTL2 nutzen muss 
genau so wie das CCR2.

Kurz gesagt die 2 im Daten Blatt (TA0.2) sagt mir welches CCRx und 
welches CCTLx ich nutzen muss um an dem pin den Timer zu nutzen.

der neue code sieht wie folgt aus:
1
#include <msp430.h> 
2
#include <msp430g2452.h>
3

4
#define BUZZER BIT4
5

6
/*4kHz = 1 mhz / 4kHz = 250 ccr
7
 * P1.4 BUZZER TA0.2
8
 */
9
int main(void) {
10
    WDTCTL = WDTPW | WDTHOLD;    // Stop watchdog timer
11

12
    DCOCTL = CALDCO_8MHZ;      //CPU Geschwindigkeit auf 8Mhz einstellen
13
    BCSCTL1 = CALBC1_8MHZ;
14
    BCSCTL2 = DIVS_3;        //Die SMCLK auf 1 MHZ einstellen mit dem vorteiler
15
                    //(8 (DCO/8 = 1Mhz))
16

17
    // Ports für den buzzer
18
    P1SEL = BUZZER;          //Ausgang timer a nutzen TimerA0.2
19
    P1SEL2 = BUZZER;
20
    P1DIR = BUZZER;
21

22

23
    //TimerA
24
    TA0CTL = TASSEL_2 + ID_0 + MC_1;// SMCLK für timer clock verwenden, up mode
25
    TACCR0 = 500;          // 2kHz; TimerA
26
    TACCR2 = 250;          // Länge der dauer von high und low
27
    TACCTL2 = OUTMOD_6;        // Reset/ Set
28

29
   while(1){}
30
  //damit keine warnung
31
  //return 0;
32
}

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.