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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.