Forum: Mikrocontroller und Digitale Elektronik Bosch BMP085 API stürzt ab


von Alfred E. Neumann (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich versuche verzweifelt die BMP085_SMD500_API von Bosch Sensortec 
laufen zu lassen.
Leider resetet mir mein Controller (atmega16) schon beim Initialisieren 
mit
1
bmp085_init
neu.

Im Headerfile steht unter anderem
1
[...]
2
 * The BMP085 API enables quick access to Bosch Sensortec's digital altimeter.
3
 * The only mandatory steps are: 
4
 *
5
 * 1. linking the target application's communication functions to the API (\ref BMP085_WR_FUNC_PTR, \ref BMP085_RD_FUNC_PTR)
6
 *
7
 * 2. calling the bmp085_init() routine, which initializes all necessary data structures for using all functions
8
9
[...]
10
11
/* never change this line */
12
#define BMP085_BUS_WRITE_FUNC(device_addr, register_addr, register_data, write_length)\
13
           bus_write( device_addr, register_addr, register_data, write_length )
14
15
/* never change this line */
16
#define BMP085_BUS_READ_FUNC(device_addr, register_addr, register_data, read_length)\
17
           bus_read( device_addr, register_addr, register_data, read_length )
18
[...]

Vielleicht ist das ja dilettantisch von mir, aber ich habe mir zwei 
Funktionen geschrieben
1
char bus_write (unsingened char .....)
2
und
3
char bur_read (unsingened char .....)
aber schon in die erste Funktion steigt er nicht ein.

Kann mir jemand einen Tip geben wie ich das richtig mache?

Voll hoffnungsvoller Grüße,

Alfred

ATMEGA16

: Verschoben durch Moderator
von Alfred E. Neumann (Gast)


Lesenswert?

Insbesondere
1
[...] (\ref BMP085_WR_FUNC_PTR, \ref BMP085_RD_FUNC_PTR)
fiel mir als Hinweise auf, ich verstehe das als "BMP085 write function 
pointer".
Leider kann ich kann ich diese Makros nicht im Code entdecken.

Deswegen die Idee die beiden Makros
1
/* never change this line */
2
#define BMP085_BUS_WRITE_FUNC(device_addr, register_addr, register_data, write_length)\
3
           bus_write( device_addr, register_addr, register_data, write_length )
4
5
/* never change this line */
6
#define BMP085_BUS_READ_FUNC(device_addr, register_addr, register_data, read_length)\
7
           bus_read( device_addr, register_addr, register_data, read_length )
zu benutzen...


Grüße,

Alfred

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.