0 голосов

Здравствуйте, коллеги!

Столкнулся с такой проблемой: при залитии обычного тестового кода :

var rtc = require('@amperka/rtc').connect();

выдает следующую ошибку:

Uncaught InternalError: Timeout on I2C Write Transmit Mode 2
 at line 1 col 52
...i2c.writeTo(this._address,t),this._i2c.readFrom(this._addres...
                              ^
in function "read" called from line 1 col 20
var t=this.read(0,1)[0];t>>7&&this.write(0,128^t)
                   ^
in function "start" called from line 1 col 133
...is._address=104,this.start()
                              ^
in function "Rtc" called from line 1 col 10
new Rtc(t)
         ^
in function "connect" called from line 2 col 43
var rtc = require('@amperka/rtc').connect();

Заметил схожую проблему в случае полного отключения часов от Iskra JS.

Версия прошивки 2v01.49, OC Windows 10.

Подскажите пожалуйста, как решить данную проблему?

Большое спасибо!

(238 баллов) 5 12 24
исправил
немного побольше кода пожалусйста...
Проверьте контакты.
Больше кода нет, заливал только этот

3 Ответы

0 голосов

Timeout on I2C Write Transmit Mode 2

Интерпретатор JS на iskra JS ругается на то, что ему не ответили по шине i2c. А именно часы реального времени. 

Заметил схожую проблему в случае полного отключения часов от Iskra JS.

Скорее всего дело в неправильном или плохом контакте. Проверьте их. 

(3.1 тыс. баллов) 15 20 41
Контакт точно правильный, проверял несколько раз
0 голосов
С этим модулем и с этой проблемой я сталкивался не однократно, задавал вопрос на амперке, если память не изменяет ответа так и не было.
Боролся принудительным 2-3 считываниями подряд принудительно и анализом ответа, также наверное сработает наверное можно применить try{} catch(){}
(53 баллов) 2 3 8
0 голосов

Здравствуйте!

Новая информация:

Экспериментировал я, экспериментировал, и тут обнаружил, что часы выдают СОВЕРШЕННО другую ошибку при подключении питания V2, то есть 5 вольт вместо 3В3:

Loading 2709 bytes from flash...
Uncaught InternalError: Timeout on I2C Write BUSY
 at line 1 col 52
...i2c.writeTo(this._address,t),this._i2c.readFrom(this._addres...
                              ^
in function "read" called from line 1 col 20
var t=this.read(0,1)[0];t>>7&&this.write(0,128^t)
                   ^
in function "start" called from line 1 col 133
...is._address=104,this.start()
                              ^
in function "Rtc" called from line 1 col 10
new Rtc(t)
         ^
in function "connect" called from line 2 col 53
var rtc = require('@amperka/rtc').connect(PrimaryI2C);
                                                    ^

В амперковских характеристиках модуля написано, что напряжение питания должно быть не меньше 4,5 вольт. То есть, по идее, модуль в принципе не может работать с Iskra JS, но как же они тогда его положили в набор Йодо Автополив?Однако 5В-то я модулю дал, а он все равно не работает...

Помогите пожалуйста!

Спасибо!

(238 баллов) 5 12 24
исправил
Решили проблему ?
Здравствуйте! Нет, похоже у этой проблемы нет решения :(
Добро пожаловать на Бредборд! Сайт вопросов и ответов на тему Arduino, Raspberry Pi и хоббийной электроники в целом. Цель Бредборда — быть максимально полезным. Поэтому мы строго следим за соблюдением правил, боремся с холиворами и оффтопиком.

    За этот месяц ещё никого.

    ...