DM13A - 16bit schuifregister - vaag geknipper ;)

algemene C code
Gebruikers-avatar
Berichten: 63
Geregistreerd: 10 Jul 2014, 14:54

Re: DM13A - 16bit schuifregister - vaag geknipper ;)

Berichtdoor MrHaroldA » 04 Aug 2014, 20:09

shooter schreef:ik had een berichtje geschreven, maar dat lijkt niet doorgekomen te zijn.
ging over dat de naam verkeerd was, maar daar was je dus ook al achtergekomen.
en maak eens een looplichtje, shiftout werkt met 16 bits en waarom doe je msb en lsb?
gewoon alle bits achter elkaar zetten en schuiven.


Ik ben nieuw, maar volgens mij werkt shiftOut() met bytes (=8 bit), en omdat ik 2 bytes (=16 bit) wil versturen moet ik het in 2-en splitsen:

http://arduino.cc/en/Reference/shiftOut

Parameters

dataPin: the pin on which to output each bit (int)
clockPin: the pin to toggle once the dataPin has been set to the correct value (int)
bitOrder: which order to shift out the bits; either MSBFIRST or LSBFIRST.
(Most Significant Bit First, or, Least Significant Bit First)
value: the data to shift out. (byte)


Ook dat is geen probleem natuurlijk:

Code: Alles selecteren
void myShift(int data[2]) {
  digitalWrite(lePin, LOW);
  shiftOut(sdiPin, clkPin, LSBFIRST, data[1] >> 8);
  shiftOut(sdiPin, clkPin, MSBFIRST, data[1]);
  shiftOut(sdiPin, clkPin, LSBFIRST, data[0] >> 8);
  shiftOut(sdiPin, clkPin, MSBFIRST, data[0]);
  digitalWrite(lePin, HIGH);
}

Advertisement

Gebruikers-avatar
Berichten: 63
Geregistreerd: 10 Jul 2014, 14:54

Re: DM13A - 16bit schuifregister - vaag geknipper ;)

Berichtdoor MrHaroldA » 04 Aug 2014, 20:19

Nog een Shifter-gerelateerde vraag, maar waarschijnlijk geen code: totdat de Shifter helemaal opgestart is lichten alle LEDs op. Ik krijg de Enable-pin niet op tijd hoog om dit te voorkomen, dus ik vermoed dat ik iets met een transistor moet doen die direct aan Vdd hangt en later door een digitale pin uitgeschakeld wordt.

Iemand tips?

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: DM13A - 16bit schuifregister - vaag geknipper ;)

Berichtdoor nicoverduin » 04 Aug 2014, 22:49

Ik zou inderdaad gewoon een BC547 gebruiken. 1K op de basis, Emitter aan GND en 10K-100K oid tussen de collector en Vcc.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Gebruikers-avatar
Berichten: 63
Geregistreerd: 10 Jul 2014, 14:54

Re: DM13A - 16bit schuifregister - vaag geknipper ;)

Berichtdoor MrHaroldA » 05 Aug 2014, 22:55

nicoverduin schreef:Ik zou inderdaad gewoon een BC547 gebruiken. 1K op de basis, Emitter aan GND en 10K-100K oid tussen de collector en Vcc.


Werkt prefect! Er zitten nu nog LEDs aan, maar dat geknipper straks met de loops/relays is niet echt fijn.

Nu zijn ze uit totdat de Arduino klaar met booten is. Nice! :ugeek:

Berichten: 4078
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: DM13A - 16bit schuifregister - vaag geknipper ;)

Berichtdoor shooter » 08 Aug 2014, 22:21

ach een simpele 100k weerstand zal ook wel genoeg zijn, de poort kan genoeg stroom hebben.
ofwel een pullup weerstand.
paul deelen
shooter@home.nl

Gebruikers-avatar
Berichten: 63
Geregistreerd: 10 Jul 2014, 14:54

Re: DM13A - 16bit schuifregister - vaag geknipper ;)

Berichtdoor MrHaroldA » 08 Aug 2014, 22:25

shooter schreef:ach een simpele 100k weerstand zal ook wel genoeg zijn, de poort kan genoeg stroom hebben.
ofwel een pullup weerstand.


Ik weet niet helemaal wat je daarmee bedoeld ... maar ik zit tegenwoordig al weer met een nieuwe probleem/uitdaging ;)

viewtopic.php?f=6&t=898

Vorige

Terug naar C code

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 7 gasten