Bosch BMP085 API stürzt ab

Gast #3218479
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
Angehängte Dateien:
Gast #3218673
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren