Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: SIM800C EAT I2C непонятная логика работы функций
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
Ujin
Привет всем.
Прикручиваю I2C память 24lc512 к SIM800C.
Начал разбираться с функциями для работы с интерфейсом и не совсем понимаю как оно у симкома работает.
Вот то что получается в результате экспериментов с логическим анализатором:
основные претензии к функции
Код
s32(*const eat_i2c_read) (EAT_I2C_OWNER i2cowner, u8 *writebuff, u16 w_len, u8 *readbuff, u16 r_len)

Параметр w_len абсолютно не влияет на поведение. Пробовал числа от 0 до 4, но в любом случае перед чтение пишет только один байт. А у меня в микросхеме адресация двухбайтовая. Или если я не хочу указывать адрес, как сразу начать чтение? Плюс в конце оно выдает не просто стоп, а сначала старт, потом стоп, но в этом случае это не критично.
Пробовал записывать функцией:
Код
s32(*const eat_i2c_write) (EAT_I2C_OWNER i2cowner, u8 *writebuff, u16 w_len)

Передает нормально, столько байт сколько указано, но в конце опять таки сначала старт, потом стоп, а по протоколу должно быть сразу стоп, который и запускает собственно запись и соответсвенно запись не происходит.
Да, версия прошивки 1418B04SIM800C32_BT_EAT.
Подскажите, пожалуйста, как с такой логикой заставить работать SIM800C с 24lc512?
NoDS
Ujin, какие статусные сообщения выдает модуль? При неудачном чтении/записи памяти модуль выдает ошибку - так можно будет установить в чем именно загвоздка.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.