Hallo Zusammen,
da ich im Augenblick mit den Digitalpotis der Serie AD840x von Analog
Devices experimentiere ist diese kleine Bibliothek von Routinen zur
Ansteuerung dieser Bausteine entstanden.
Es werden die ICs AD8400, AD8402 und AD8404 unterstützt.
Folgende Funktionen wurden implementiert:
Für alle:
1 | void setAD840xVolume( uint8_t volume );
|
2 | void setAD840xMute( uint8_t on );
|
Hinweis: Beim AD8400 kann die Mute-Funktion nur über das
Zwischenspeichern der aktuellen Volumeeinstellung erfolgen. Der AD8402
und der AD8404 verfügen über den PIN SHDN. Mit diesem kann die interne
Mutefunktion der Chips gesteuert werden.
Für den AD8404 zusätzlich:
1 | void setAD840xVolumeSet1( uint8_t volume );
|
2 | void setAD840xVolumeSet2( uint8_t volume );
|
Die Konfiguration erfolgt über die Headerdatei AD840x.h.
Die Konfiguration unterteilt sich in zwei Bereiche.
1 | #define AD840x_DDR DDRC
|
2 | #define AD840x_PORT PORTC
|
3 | #define AD840x_CS PINC1
|
4 | #define AD840x_SDI PINC4
|
5 | #define AD840x_CLK PINC3
|
6 |
|
7 | #ifndef AD8400
|
8 | #define AD840x_SHDN PINC0
|
9 | #define AD840x_RS PINC2
|
10 | #endif
|
Der erste Teil gilt für alle AD840x. Der zweite Teil gilt nur für den
AD8402 und den AD8404.
Die Funktion für SDO des AD8404 wird derzeit nicht unterstützt.
Gruß
Frank