Forum: Mikrocontroller und Digitale Elektronik SHT 15 Routine Sensirion


von thomas (Gast)


Lesenswert?

Hallo User,

Habe folgendes Problem:
Ich bin dabei einen SHT15 Sensor von Sensirion mit einem Atmega8 und AVR 
GCC als Compiler zu betreiben. Habe mir dazu die AP Note von Sensirion 
heruntergeladen. Es wird eine bidirektionale Datenleitung sowie ein 
Clock benutzt. Es werden dafür mit #define einmal DATA und SCK 
definiert.

#define DATA  P1_1
#define  SCK     P0_0

Das setzen / reseten dieser Leitungen wird mit
DATA=1; oder
DATA=0;
gemacht.
Genau das erzeugt aber einen Error. Woran kann das liegen?

Hab schon folgendes probiert:
#define DATA  PB1
#define  SCK     PB0
Funktioniert aber ebenfalls nicht.

Die Fehlermeldung lautet:

/sht15.h:119: error: invalid lvalue in assignment

Kann doch eigentlich nur an der Zuweisung des Port/Pin liegen. Falls 
jemand weis, wies funzen könnte??

von Werner (Gast)


Lesenswert?

Schau dir mal im Tutorial an, wie bits gesetzt werden...

von Steffen (Gast)


Lesenswert?

nicht immer alles zwei mal erfinden.

Beitrag "Lib für Sensirion SHT1x Sensor an AVR"

von thomas (Gast)


Lesenswert?

Besten Dank erst mal, werde die Links mal durchschauen.

Muss zu  meiner Verteidignug sagen, dass ich eigentlich in BASCOM 
programmiere, und dort lauffähigen Code hab. Aber BASCOM is ja auf die 
Dauer auch keine Offenbarung, deshalb versuch ich zur Zeit nen Umstieg 
auf C. Dazu schreib ich halt meine vorhandenen Programme um, um diesen 
Code zu probieren.

Also, besten Dank erstmal, werde mich melden, ob funzt, und wenn ja dann 
natürlich auch warum es geht.

von Volker (Gast)


Lesenswert?

um beim AVR sowas wie "DATA=1" benutzen zu können, bedarf es
einem Macro.

Siehe hier:

Beitrag "sbit macro für avr-gcc"


Gruß Volker

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.