2МГц на скрине - это частота дискритезации логического анализатора. Вы считаете это много или мало?I2C на 2 МГц? Оригинально!
я, в отличии от некоторых профессионалов, использую библиотеку wire.h, что и как она делает - мне бы не хотелось разбиратьсяКривое подобие старта? Совсем оригинально!
я так понимаю, что без резисторов подтяжки i2c принципиально работать не может. Но на ESP8266 работает. Я так подозреваю, что эти резисторы есть или в ESP или в RTC."пробовал ставить резисторы 4.7к", то есть, изначально I2C без резисторов подтяжки? Еще более оригинально!
Так как у Вас питания не было то на пинах был ноль. Поэтому и было замечание про подтяжки.я так понимаю, что без резисторов подтяжки i2c принципиально работать не может. Но на ESP8266 работает. Я так подозреваю, что эти резисторы есть или в ESP или в RTC.
Прекрасно.nikolz, не было бы подтяжки - i2c вообще бы не работал - был бы всегда низкий уровень. А на первом скрине я показал - шина работает. Контроллер не может же выставлять на SDA высокий уровень, он формируется исключительно подтяжкой.
Я не все знаю, но я учусьвсе знаете ,без чужих советов
I2C без резисторов подтяжки? Еще более оригинально!
Полагаю что данное высказывание сделано именно по вашей 2 и 3 картинке где у вас сигналы притянуты к нулю.Я не все знаю, но я учусь
Из того, что знаю - много благодаря чужим советам. Но только умным советам, а не подобным высказываниям:
я называю это "высокомерие". а в данном случае - беспочвенноенекоторый сарказм
Для тактовой I2C это много, для дискретизации логического анализатора - мало.2МГц на скрине - это частота дискритезации логического анализатора. Вы считаете это много или мало?.
Угу. Пусть другие в ней разбираются, а ваше дело только вопросы "почему не работает" задавать.я, в отличии от некоторых профессионалов, использую библиотеку wire.h, что и как она делает - мне бы не хотелось разбираться
В чипе RTCC резисторов подтяжки нет, в ESP они могут быть. Однако для I2C важно не наличие абы какой подтяжки, но и сопротивление резисторов подтяжки. Рекомендуемая величина - от 3.3к до 4.7к. Даже 10к, хотя используется часто, но уже многовато и может быть причиной глюков. Встроенные в чип подтяжки имеют величины в несколько десятков кОм и не годятся для I2C.я так понимаю, что без резисторов подтяжки i2c принципиально работать не может. Но на ESP8266 работает. Я так подозреваю, что эти резисторы есть или в ESP или в RTC.
Лучше сто раз спросить, не особо заморачиваясь на описание чего там у вас сделано, чем проверить монтаж, самому подумать или книжку почитать.Я не все знаю, но я учусь
Из того, что знаю - много благодаря чужим советам. Но только умным советам, а не подобным высказываниям:
странно, а анализатор говорит что хватает. он же смог разобрать протокол - см. первый скрин.для дискретизации логического анализатора - мало
что ж вы все привязались то к этим резисторам? У меня шина i2c, а не 1wire c паразитным питанием. Ей должно быть пофиг какой номинал у встроенных резисторов при длине шины 10см.В чипе RTCC резисторов подтяжки нет, в ESP они могут быть.
Я не стесняюсь спрашивать. Не только на форуме, но и лично у знающих людей. После того как сам проверю и подумаю.Лучше сто раз спросить, не особо заморачиваясь на описание чего там у вас сделано, чем проверить монтаж, самому подумать или книжку почитать.
Wire.begin(pins::sda, pins::scl);
Wire.beginTransmission(DS3231_I2C_ADDRESS); // 104 is DS3231 device address
Wire.write(0x00); // start at register 0
Wire.endTransmission();
Wire.requestFrom(DS3231_I2C_ADDRESS, 7); // request seven bytes
if (Wire.available()) {
//...
}else{
// попадаем сюда
DEBUG_PRINT(F("Wire error"));
}
Возможно здесь ответ:странно, а анализатор говорит что хватает. он же смог разобрать протокол - см. первый скрин.
что ж вы все привязались то к этим резисторам? У меня шина i2c, а не 1wire c паразитным питанием. Ей должно быть пофиг какой номинал у встроенных резисторов при длине шины 10см.
Я не стесняюсь спрашивать. Не только на форуме, но и лично у знающих людей. После того как сам проверю и подумаю.
Может подскажите книжку, где описаны ошибки, которые могут приводит к таким сигналам как на последних трех скринах?
Если не понятно, что сделано, то:
часы DS3231 подключены на ноги 23 и 19.
выполняется код:
Код:Wire.begin(pins::sda, pins::scl); Wire.beginTransmission(DS3231_I2C_ADDRESS); // 104 is DS3231 device address Wire.write(0x00); // start at register 0 Wire.endTransmission(); Wire.requestFrom(DS3231_I2C_ADDRESS, 7); // request seven bytes if (Wire.available()) { //... }else{ // попадаем сюда DEBUG_PRINT(F("Wire error")); }
С такой скоростью анализатор не поймает ошибки во временной диаграмме, если они там есть. Или наоборот, будет показывать ошибки, когда их нет.странно, а анализатор говорит что хватает. он же смог разобрать протокол - см. первый скрин.
А я не телепат, чтобы знать, что ваша шина 10 см и на ней не висит еще десяток устройств. Вам же влом было нормально описать свою систему. Вы даже не знаете есть у вас нормальные подтяжки или нет. А на встроенных 50-килоомных резисторах может глючить и на 10 см.что ж вы все привязались то к этим резисторам? У меня шина i2c, а не 1wire c паразитным питанием. Ей должно быть пофиг какой номинал у встроенных резисторов при длине шины 10см.
1. Specification - I2C BusМожет подскажите книжку, где описаны ошибки, которые могут приводит к таким сигналам как на последних трех скринах?
посмотрите это:странно, а анализатор говорит что хватает. он же смог разобрать протокол - см. первый скрин.
что ж вы все привязались то к этим резисторам? У меня шина i2c, а не 1wire c паразитным питанием. Ей должно быть пофиг какой номинал у встроенных резисторов при длине шины 10см.
[/code]
Using the ESP32 with RTC DS3231 module - Hackster.ioЯ не стесняюсь спрашивать. Не только на форуме, но и лично у знающих людей. После того как сам проверю и подумаю.
Может подскажите книжку, где описаны ошибки, которые могут приводит к таким сигналам как на последних трех скринах?