Chronos Ti ez 430 warte befehl C

freudi93

Ensign
Dabei seit
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));
}
 

theonlyfreak

Lt. Junior Grade
Dabei seit
Juni 2011
Beiträge
257
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.
 

freudi93

Ensign
Ersteller dieses Themas
Dabei seit
Jan. 2010
Beiträge
130
okey. danke. gibt es hier vl jemanden der genau weis wie die timerfunktion für die uhr lautet??
 

asdfman

Commander
Dabei seit
März 2008
Beiträge
2.315
Ich würde vorschlagen im Handbuch oder der Spezifikation nachzulesen.
 
Top