roboforum.ru

Технический форум по робототехнике.

Проблема с программированием датчика BMP-085

Резисторы, транзисторы, конденсаторы, микросборки, чип компоненты ...
Вопросы согласования управляющих модулей с периферией.

Проблема с программированием датчика BMP-085

Сообщение galex1981 » 29 янв 2010, 03:46

Возникла проблема с получением данных из I2C датчика измерения давления и температуры BMP 085. Вроде бы как все делаю по даташиту (получение калибровочных данных, измерение давления и температуры) но никаких данных по I2C не приходит от датчика. Причем переменная Err ошибки не выдает (всегда равна 0 при якобы получении данных). Может быть кто нибудь работал с этим датчиком, или может быть что нибудь не учел в коде. Ниже прилагаю даташит на датчик, и сам код на Bascom
Вложения
noname2.rar
код
(1.68 КиБ) Скачиваний: 5
BMP085_DataSheet_Rev.1.0_01July2008.pdf
даташит
(307.74 КиБ) Скачиваний: 10
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4362
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: Проблема с программированием датчика BMP-085

Сообщение MiBBiM » 29 янв 2010, 11:46

попробовать использовать хардварный i2c:
Код: Выделить всёРазвернуть
$LIB "I2C_TWI.LBX"

i2crepstart не нашел в справке, в примерах повсеместно используется i2cstart для повстарта.
и ещё непонятно в дш, на диаграмме принимаются два байта (msb,lsb) по одному адресу, хотя для них, судя по тексту, используются разные. может попробовать делать так, как на диаграмме?
Код: Выделить всёРазвернуть
            'чтение примерного значения температуры
            I2cstart
            I2cwbyte &HEE
            I2cwbyte &HF4
            I2cwbyte &H2E
            I2cstop

            Waitms 5

            ' можно использовать процедуру getvalue
            I2cstart
            I2cwbyte &HEE
            I2cwbyte &HF6
            I2cstart
            I2cwbyte &HEF
            I2crbyte Msb , Ack
            I2crbyte Lsb , Nack
            I2cstop
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: Проблема с программированием датчика BMP-085

Сообщение galex1981 » 29 янв 2010, 17:00

Изменил, сейчас проблема несколько иная: программа висит на:
Код: Выделить всёРазвернуть
I2crbyte Msb , Nack

в общем на приеме данных. Отправляет кстати тоже с кодом ошибки err=1

Добавлено спустя 47 минут 59 секунд:
Очень странно но ошибка возникает сразу после команды :
Код: Выделить всёРазвернуть
I2cstart
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4362
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: Проблема с программированием датчика BMP-085

Сообщение galex1981 » 30 янв 2010, 21:30

В общем проблема оказалась не программной а аппаратной. Неверно был подключен датчик Датчик подключил нормально по даташиту, программы верные и представленная мной с программным I2C и предложенная MibBim с TWI. Тему можно закрыть, если посчитают нужным.
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4362
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: Проблема с программированием датчика BMP-085

Сообщение Makee » 16 июн 2014, 02:28

Можете подробнее сказать, как вы подключили? Просто у меня точно такая же проблема.
Makee
 
Сообщения: 1
Зарегистрирован: 16 июн 2014, 02:22


Вернуться в Электроника, электротехника

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12