реклама на сайте
подробности

 
 
> SIM900: кривая реализация I2C для Embedded AT
HDL
сообщение Sep 16 2013, 12:12
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 16-09-13
Пользователь №: 78 342



Печально, но %сабж%.
Вызов транзакции по I2C шине, например такой (взят из примера):
ebdat15_07I2C_PUT_DATA(pTransfer);
из обработчика событий в EAT приложении зависает, если устройство с заданным I2C адресом не ответило ACK-ом на SLA-R/W. Модем висит несколько секунд до самого ребута по вотчдогу.
Зависание происходит на втором по счету обращении, если на первое получен NACK, причем наличие ACK на втором обращении ни на что не влияет.
Прошивку дизасмил, нашел и рассмотрел почти все процедуры и2ц, но патч придумать сходу не удалось.

Скажите, насколько реально добиться от китайцев соответствующего фикса? Как и куда обращаться?
Может кто-нибудь сталкивался с этой проблемой?
На форуме ничего такого не обсуждалось? (Поиском не нашел.)

Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Romashki
сообщение Oct 13 2013, 05:44
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 209
Регистрация: 5-12-10
Пользователь №: 61 419



Разобрался! У меня на этом порту стоит ADM485 с ногой RX/TX, так вот на 115200 работает так:

if(ebdat9_05GetSerialPortTxStatus()!=TRUE)return 0;
ebdat6_04WriteGpio(pin_SW_RX_TX, 1);
ebdat05_09delay(1000);
ebdat9_02SendToSerialPort((char*)pBuff, LenBuff);
ebdat05_09delay(10000);
ebdat6_04WriteGpio(pin_SW_RX_TX, 0);

а вот на 9600 приходила только третья часть буфера....пришлось сделать так и только тогда заработало (в смысле буфер полностью доходил):

if(ebdat9_05GetSerialPortTxStatus()!=TRUE)return 0;
ebdat6_04WriteGpio(pin_SW_RX_TX, 1);
ebdat05_09delay(1000);
ebdat9_02SendToSerialPort((char*)pBuff, LenBuff);
ebdat05_09delay(20000);
ebdat6_04WriteGpio(pin_SW_RX_TX, 0);
Go to the top of the page
 
+Quote Post
GeGeL
сообщение Oct 13 2013, 19:44
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 403
Регистрация: 29-04-11
Из: Украина
Пользователь №: 64 682



Цитата(Romashki @ Oct 13 2013, 08:44) *
У меня на этом порту стоит ADM485 с ногой RX/TX

Эх, жаль, но EAT/OCPU далеко не realtime. Задержка отрабатывается весьма приблизительно (а также и начало реальной выдачи в UART после выполнения SendToSerialPort), и если ее установить с запасом, то часть ответа теряется (например, при опросе ДУТ). Мне кажется, без простенького внешнего МК (типа PIC10), управляющего режимом RX/TX в засисимости от старт-бита, тут никак не обойтись. Возможно, кто-то решил проблему по другому?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- HDL   SIM900: кривая реализация I2C для Embedded AT   Sep 16 2013, 12:12
- - Romashki   Я пробовал с пиком по I2C "общаться" (на...   Sep 17 2013, 06:05
|- - HDL   Цитата(Romashki @ Sep 17 2013, 09:05) Нап...   Sep 17 2013, 12:04
- - Romashki   "...А если выключать инты ..." это как?   Sep 18 2013, 09:43
|- - Frolov Kirill   Софтовый I2C будет сильно греть CPU и жрать батаре...   Sep 18 2013, 11:33
|- - HDL   Цитата(Romashki @ Sep 18 2013, 12:43) ...   Sep 20 2013, 20:18
- - HDL   UPDATE Иногда (редко, но факт) все-таки происходят...   Sep 21 2013, 01:48
- - CADiLO   >>>Следовательно, такие протоколы как 1-w...   Sep 23 2013, 06:44
- - HDL   О, спасибо, почитаю.   Sep 23 2013, 12:23
- - Romashki   Подскажите, где можно скачать эти документы: -RTK-...   Oct 1 2013, 13:54
|- - HDL   Цитата(Romashki @ Oct 1 2013, 16:54) Подс...   Oct 12 2013, 01:18
- - CADiLO   Наверно у нас Гугли разные Поэтому гугль > ки...   Oct 1 2013, 14:04
|- - HardEgor   Вообще I2C тактируемый протокол и для слэйвов можн...   Oct 1 2013, 15:55
- - Romashki   Подскажите, кто нибудь проверял в ЕАТ скоростя по ...   Oct 12 2013, 08:01
- - HDL   А покажи пожалуйста свой код - соберу и проверю у ...   Oct 12 2013, 10:57
- - Romashki   ebdat7_00EnterDebugMode(); ebdat9_03SetModemdata...   Oct 12 2013, 12:11
- - HDL   Да, собсно в коде инициализации я ниче такого и не...   Oct 13 2013, 13:44
- - Romashki   В принципе можно поставить adm с автоопределением ...   Oct 14 2013, 05:36


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 13:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.01402 секунд с 7
ELECTRONIX ©2004-2016