Перейти к содержанию

Датчик Температуры И Влажности Sht15 И Pic18F25J50


Senyacherenakov

Рекомендуемые сообщения

Всем добрый день!

Пишу в надежде, что кто-то-нибудь пытался связаться с этим датчиком аппаратным i2c. На деле он воспринимает только программный вариант. А так чтоб подключить модуль MSSP - это неет!

Среда mplab 8.92, С18 compiler. Данный компилятор имеет хорошую библиотеку функций i2c.

Задание мое такое - увидеть (хотя бы!) на осциллографе линию тактирования и прочитать два байта данных от датчика. Вот листинг:

#pragma config OSC = INTOSC, FCMEN = OFF, IESO = OFF, MSSP7B_EN = MSK7

#pragma config DSBOREN = OFF

#pragma config WDTEN = OFF, WDTPS = 32768, DSWDTEN = OFF

#pragma config LPT1OSC = OFF

#pragma config STVREN = ON, XINST = OFF, T1DIG = OFF

#pragma config RTCOSC = INTOSCREF

#pragma config DSWDTOSC = INTOSCREF, IOL1WAY = OFF

#pragma config WPFP = PAGE_0, WPEND = PAGE_0, WPCFG = OFF, WPDIS = OFF

/** I N C L U D E S **************************************************/

#include <p18f25j50.h>

#include <i2c.h>

// header file

#include <delays.h>

#include <math.h>

#define measure_temp 0x03

#define measure_humidity 0x05

#define pic_frq 500 // кГц - частота контроллера

#define i2c_frq 100 // кГц - частота обмена

// расчет коэф генератора

#define gen_frq (((pic_frq / i2c_frq) / 4) - 1)

/** V A R I A B L E S *************************************************/

#pragma udata // declare statically allocated uinitialized variables

unsigned char buff[2]={0,0}; // 8-bit variable

int temp;

/** D E C L A R A T I O N S *******************************************/

#pragma code // declare executable instructions

void main (void)

{

TRISBbits.TRISB4 = 1;

TRISBbits.TRISB5 = 1;

PORTA = PORTB = PORTC = 0;

OpenI2C1 (MASTER, SLEW_OFF);

SSP1ADD = gen_frq;

IdleI2C1();

StartI2C1();

IdleI2C1();

WriteI2C1( measure_temp );

IdleI2C1();

buff[0] = ReadI2C1();

AckI2C3();

buff[1] = ReadI2C1();

NotAckI2C1();

StopI2C1();

temp = buff[0] << 8;

temp = temp + buff[1];

}

Линия данных стоит в положении ВЫСОКОЕ, линия тактирования молчит. Отладчик тем не менее доходит до функции ReadI2C1(), типа он там ждет что появится флаг заполнения буфера.

...............про этот датчик я где-то на западном форуме увидел отзыв "It's notI2c sensor". В ДШ условие старта отличается от общепринятого для i2c. Сломал себе мозги. Думаю завести фляжечку с беленькой...

Ссылка на комментарий
Поделиться на другие сайты

В даташите черным по белому написано:

The sensor cannot be addressed by I2C protocol, however, the sensor can be connected to an I2C bus without interference with other devices connected to the bus. The controller must switch between the protocols.

У него свой протокол, несовместимый с I2C.

Ссылка на комментарий
Поделиться на другие сайты

Я это читал и понял, что, мол, связь возможна только когда у нас один контроллер и один датчик. Разве не так? Если переводить совсем дословно, то получается, что датчик может быть подключен к шине без взаимодействия с другими устройствами, подключенными к шине. Тогда смысл его вообще подключать?

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Там лишь уточняется, что датчик можно подключить (для экономии выводов) к шине I2C вместе с другими устройствами. Мешать друг другу они при этом не будут. Но контроллер нужно переключать между протоколами. Так что просто программно организуйте протокол для датчика, не используя аппаратный I2C.

Ссылка на комментарий
Поделиться на другие сайты

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Большое спасибо! Тогда вопрос такой - почему на осциллографе может быть не видно условий старта и отсылаемого байта. Ведь соответствующие функции конфигурируют МК, как мастер. Значит он может выдать на линии данных и тактирования хоть что-нибудь.

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...