Chronos Ti ez 430 warte befehl C

freudi93

Ensign
Registriert
Jan. 2010
Beiträge
130
Guten Abend

Ich suche eine Delay oder warte befehl für C, welcher ein msp 430 Microcontroller erkennt.
Ich möchte gerne auf der Chronos TI ez 430 ein h ausgeben, welche sich aber nach ca 3 sec in ein r endern soll. mein derzeitiger lösungsansatz wäre (funktioniert aber leider nicht so wie ich will):

#include "cc430x613x.h"
#include <string.h>

void main(void)
{
unsigned char * lcdmem;

// Löschen des Displays
LCDBMEMCTL |= LCDCLRBM + LCDCLRM;

// LCD_FREQ = ACLK/16/8 = 256Hz
// Frame frequency = 256Hz/4 = 64Hz, LCD mux 4, LCD on
LCDBCTL0 = (LCDDIV0 + LCDDIV1 + LCDDIV2 + LCDDIV3) | (LCDPRE0 + LCDPRE1) | LCD4MUX | LCDON;

// LCB_BLK_FREQ = ACLK/8/4096 = 1Hz
LCDBBLKCTL = LCDBLKPRE0 | LCDBLKPRE1 | LCDBLKDIV0 | LCDBLKDIV1 | LCDBLKDIV2 | LCDBLKMOD0;

// I/O zu COM Ausgabe
P5SEL |= (BIT5 | BIT6 | BIT7);
P5DIR |= (BIT5 | BIT6 | BIT7);

// Aktivieren der LCD ausgabe
LCDBPCTL0 = 0xFFFF; // Select LCD segments S0-S15
LCDBPCTL1 = 0x00FF; // Select LCD segments S16-S22


lcdmem = (unsigned char *)0x0A21;
*lcdmem = (unsigned char)(*lcdmem | (BIT2+BIT1+BIT6+BIT0));

__delay_cycles (10000);

lcdmem = (unsigned char *)0x0A2B;
*lcdmem = (unsigned char)(*lcdmem | (BIT4+BIT5+BIT6+BIT0+BIT3));
}
 
Nunja natürlich gibts es viele möglichkeiten ein delay zu erzeugen, wie z.b. mit einer Zählerschleife. aber normalerweise benutzt man dafür die Timerfunktionen die der controller ja von hause aus besitzt.
 
okey. danke. gibt es hier vl jemanden der genau weis wie die timerfunktion für die uhr lautet??
 
Ich würde vorschlagen im Handbuch oder der Spezifikation nachzulesen.
 

Ähnliche Themen

Zurück
Oben