Senyacherenakov Опубликовано 28 мая, 2014 Поделиться Опубликовано 28 мая, 2014 Всем добрый день! Пишу в надежде, что кто-то-нибудь пытался связаться с этим датчиком аппаратным 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. Сломал себе мозги. Думаю завести фляжечку с беленькой... 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
andryvlad Опубликовано 28 мая, 2014 Поделиться Опубликовано 28 мая, 2014 В даташите черным по белому написано: 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. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Реле, вентиляторы, корпуса, разъемы, а так же любые электронные компоненты в нашем каталоге! Бесплатная доставка + 15% кэшбэк + скидки!Перейти на сайт ТМ Электроникс Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
Senyacherenakov Опубликовано 29 мая, 2014 Автор Поделиться Опубликовано 29 мая, 2014 Я это читал и понял, что, мол, связь возможна только когда у нас один контроллер и один датчик. Разве не так? Если переводить совсем дословно, то получается, что датчик может быть подключен к шине без взаимодействия с другими устройствами, подключенными к шине. Тогда смысл его вообще подключать? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
andryvlad Опубликовано 29 мая, 2014 Поделиться Опубликовано 29 мая, 2014 Там лишь уточняется, что датчик можно подключить (для экономии выводов) к шине I2C вместе с другими устройствами. Мешать друг другу они при этом не будут. Но контроллер нужно переключать между протоколами. Так что просто программно организуйте протокол для датчика, не используя аппаратный I2C. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке. Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
Senyacherenakov Опубликовано 30 мая, 2014 Автор Поделиться Опубликовано 30 мая, 2014 Большое спасибо! Тогда вопрос такой - почему на осциллографе может быть не видно условий старта и отсылаемого байта. Ведь соответствующие функции конфигурируют МК, как мастер. Значит он может выдать на линии данных и тактирования хоть что-нибудь. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Литиевые батарейки и аккумуляторы от мирового лидера EVE в КомпэлКомпания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
andryvlad Опубликовано 30 мая, 2014 Поделиться Опубликовано 30 мая, 2014 В Си не силен, так что сами разбирайтесь, что Вы там наконфигурировали 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.