In December 2015, I wrote a low level C driver for the BMP085 Bosch Pressure sensor for use with the ARM STM32-F4 Discovery Board. The BMP085 is a temperature and pressure sensor which can be used for a variety projects such as IoT weather logging applications or even quad-copter drones and the like. There are quite a few BMP085 driver implementations out there which use polling in order to read data from it, however not many which utilize the EOC pin in conjunction with a hardware interrupt for faster data acquisition. This Driver will give you temperature, pressure, and altitude readings at roughly 39 Hz using a hardware interrupt. Not bad!
Basic Usage
See main.c for example usage. Extended documentation can be generated using the included Doxyfile with Doxygen.
Requirements
-STM Standard Peripheral Library
Connections
STM32F4 PIN | BMP085 PIN |
GND | GND |
5V | VIN |
PB7 | SDA |
PB6 | SCL |
PD0 | EOC |
Datasheet
BMP085 Pressure Sensor | (.pdf)
Source Code
Link | (Github)