Hanna
Sourcecode Batteriemanagementsystem |
Standardheader. Mehr ...
#include <stdbool.h>
gehe zum Quellcode dieser Datei
Makrodefinitionen | |
#define | WITH_OE |
Anzahl der Bausteine und Ausgänge. | |
#define | COM74HC595_SIZE 3 |
Anzahl der über diesen Port anzusteuernden 74HC595 Bausteine. | |
#define | COM74HC595_BITS COM74HC595_SIZE * 8 |
Anzahl der Bits über alle Bausteine. | |
#define | MAX_TEMP 35 |
PORT am Mikrocontroller, über den die 74HC595 Bausteine per Software SPI angesteuert werden. | |
#define | PORT_74HC595 PORTB |
PORT am Mikrocontroller, über den die 74HC595 Bausteine per Software SPI angesteuert werden. | |
#define | PIN_74HC595_SER_bm PIN7_bm |
SER ist am 74HC595 PIN 14. | |
#define | PIN_74HC595_SCK_bm PIN6_bm |
SCK ist am 74HC595 PIN 11. | |
#define | PIN_74HC595_SCLR_bm PIN5_bm |
SCLR ist am 74HC595 PIN 10. | |
#define | PIN_74HC595_RCK_bm PIN4_bm |
RCK ist am 74HC595 PIN 12. | |
#define | PIN_74HC595_OE_bm PIN3_bm |
OE ist am 74HC595 PIN 13. | |
Funktionen | |
void | com74hc595_Bit (unsigned char BitNumber, bool set) |
Setzt die ausgewählte Bitnummer auf set, 0 oder 1. Mehr ... | |
void | com74hc595_init (void) |
Initialisierung 74HC595. Mehr ... | |
void | com74hc595_out (void) |
Übertragung des Bitmuster in die Schieberegister und anschließende Aktivierung. Mehr ... | |
void | com74hc595_setall (void) |
void | com74hc595_setBit (unsigned char BitNumber) |
Erzeugt ein Bitmuster für jeden Baustein in der Serie, setzt das ausgewählte Bit auf 1. Mehr ... | |
void | com74hc595_setPort (unsigned char Port, unsigned char Bits) |
Das Bitmuster für einen Baustein (Port) wird direkt gesetzt. Mehr ... | |
void | com74hc595_unsetall (void) |
Setzt alle bits auf 0. | |
void | com74hc595_unsetBit (unsigned char BitNumber) |
Erzeugt ein Bitmuster für jeden Baustein in der Serie, setzt das ausgewählte Bit auf 0. Mehr ... | |
void | com74hc595_unsetPort (unsigned char Port) |
Alle bits je Baustein (Port) werden auf 0 gesetzt. Mehr ... | |
Variablen | |
unsigned char | com74hc595 [] |
Standardheader.
$Revision: 363 $ $Date: 2016-03-21 21:28:33 +0100 (Mon, 21 Mar 2016) $
Definiert in Datei com74HC595.h.
#define WITH_OE |
Falls eine Steuerung über /OE PIN 13 des 74HC595 gewünscht ist, muss PIN 13 per Pullup Widerstand gesetzt werden, dass sorgt dafür, dass der 74HC595 nach einem Reset in einem definierten Zustand gesetzt werden kann.
Der 74HC595 wird in der Initialisierungsroutine mit 0x00 initialisiert. Dadurch, dass /OE über den Pullup-Widerstand auf HIGH gezogen wurde, befindet sich der 74HC595 im Tristate-Modus. Wird jetzt /OE auf LOW gezogen, steht der gesetzte Zustand an den Ports an.
Definiert in Zeile 48 der Datei com74HC595.h.
void com74hc595_Bit | ( | unsigned char | BitNumber, |
bool | set | ||
) |
Setzt die ausgewählte Bitnummer auf set, 0 oder 1.
BitNumber | Ausgewählte Bitnummer |
set | 0 oder 1 |
Die Funktion ist eine Verallgemeinerung der Funktionen für set und unset Bit und kann flexibler eingesetzt werden.
Definiert in Zeile 65 der Datei com74HC595.c.
void com74hc595_init | ( | void | ) |
Initialisierung 74HC595.
Verwendete Ports am µC auf OUT, SER, SCK, RCK auf definierten Level LOW. Die Ausgänge der Bausteine werden alle auf 0 gesetzt.
< Sicherer Zustand auf der BMS-Platine wird hergestellt.
Definiert in Zeile 133 der Datei com74HC595.c.
void com74hc595_out | ( | void | ) |
Übertragung des Bitmuster in die Schieberegister und anschließende Aktivierung.
Die Bitmuster werden für alle Bausteine übertragen. Das Muster wird in umgekehrter Reihenfolge an die Bausteine gesendet, also zuerst das letzte Bit des letzten Bausteins. Strobe an SCK schiebt die Bits bei jedem Takt um 1 Position weiter durch alle Schieberegister. Abschließend bringt Strobe an RCK die Daten von den Schieberegistern in die Latches (an die Ausgangspins).
Definiert in Zeile 153 der Datei com74HC595.c.
void com74hc595_setBit | ( | unsigned char | BitNumber | ) |
Erzeugt ein Bitmuster für jeden Baustein in der Serie, setzt das ausgewählte Bit auf 1.
BitNumber | ist die fortlaufende Nummer des Bits über alle Bausteine. |
Erzeugt ein Bitmuster für jeden Baustein in der Serie. BitNumber ist die fortlaufende Nummer des Bits über alle Bausteine, beginnend bei 0. 3 ist also das 4. Bit im ersten Baustein (Baustein 0, hier als Port bezeichnet), 8 das erste Bit im zweiten Baustein. Je Baustein wird ein 8bit Array-Element im Array com74hc595 angelegt und das Bitmuster für diesen Baustein erzeugt.
Definiert in Zeile 34 der Datei com74HC595.c.
void com74hc595_setPort | ( | unsigned char | Port, |
unsigned char | bitmask | ||
) |
Das Bitmuster für einen Baustein (Port) wird direkt gesetzt.
Port | Nummer des Bausteins in der Serie (beginnend mit 0). |
bitmask | 8bit Binärmuster der Ausgänge je Baustein. |
Das Bitmuster für einen Baustein (Port) wird direkt gesetzt. Port beginnt bei 0, Bitmuster ist ein 8bit Binärmuster.
Definiert in Zeile 111 der Datei com74HC595.c.
void com74hc595_unsetBit | ( | unsigned char | BitNumber | ) |
Erzeugt ein Bitmuster für jeden Baustein in der Serie, setzt das ausgewählte Bit auf 0.
BitNumber | ist die fortlaufende Nummer des Bits über alle Bausteine. |
Erzeugt ein Bitmuster für jeden Baustein in der Serie. BitNumber ist die fortlaufende Nummer des Bits über alle Bausteine, beginnend bei 0. 3 ist also das 4. Bit im ersten Baustein (Baustein 0, hier als Port bezeichnet), 8 das erste Bit im zweiten Baustein. Je Baustein wird ein 8bit Array-Element im Array com74hc595 angelegt und das Bitmuster für diesen Baustein erzeugt.
Definiert in Zeile 50 der Datei com74HC595.c.
void com74hc595_unsetPort | ( | unsigned char | Port | ) |
Alle bits je Baustein (Port) werden auf 0 gesetzt.
Port | Nummer des Bausteins in der Serie (beginnend mit 0). |
Alle bits je Baustein (Port) werden auf 0 gesetzt. Port beginnt bei 0, Bitmuster ist ein 8bit 0 Binärmuster.
Definiert in Zeile 123 der Datei com74HC595.c.