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

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.