banner left Boxtec Banner
Platzhalter BoxtecProdukteForumShopKontaktPlaygroundn/aJobs
 

HelvePic32

Schieberegister

Das Breakout Board nutzt ein sehr weit verbreitetes Schieberegister, den 74LS595D. Dieser ist in der Arduino Literatur gut beschrieben udn wird beim HelvePic32 in genau der gleichen Weise verwendet. Für die 16 LEDs des Rings sind dementsprechend 2 dieser ICs nötig, da jeder IC nur 8 LED treiben kann.

Das Schieberegsiter ist “latched”, was bedeutet, dass das Register seinen Zustand hält bis die Daten geladen sind. Dies verhindert, dass die Anzeige flackert.

Die Pins sind fogende:

int enPin = nP[LEFT][3];  // Shift registers' Output Enable pin
int latchPin = nP[LEFT][4];  // Shift registers' rclk pin
int clkPin = nP[LEFT][5];  // Shift registers' srclk pin
int clrPin = nP[LEFT][6];  // shift registers' srclr pin
int datPin = nP[LEFT][7];  // shift registers' SER pin

Die Daten werden über eine einfache ShiftOut Funktion in das Register geschoden:

void shiftOut16(uint16_t data)
{
        byte datamsb;
        byte datalsb;
 
        datamsb = (data&0xFF00)>>8;  // mask out the MSB and shift it right 8 bits
        datalsb = data & 0xFF;  // Mask out the LSB
 
        Serial.print("  ");
        Serial.print(datamsb,DEC);
        Serial.print("  ");
        Serial.print(datalsb,DEC);
 
        digitalWrite(latchPin, LOW);  // first send latch low
        shiftOut(datPin, clkPin, MSBFIRST, datamsb);
        shiftOut(datPin, clkPin, MSBFIRST, datalsb);
        digitalWrite(latchPin, HIGH);  // send latch high to indicate data is done sending
}

HelvePic32

 
helvepic32/bspshiftreg/start.txt · Last modified: 2015/08/06 16:03 by mathiasw
 
 

zum Seitenanfang

Letzte Aktualisierung: © boxtec internet appliances · the better security products