Показать сообщение отдельно
Старый 18.04.2014, 15:42   #52
Alex_St
Старший Пользователь
 
Аватар для Alex_St
 
Регистрация: 09.04.2008
Возраст: 44
Город: Одесса
Регион: Украина
Машина: Chevrolet Aveo-II LS 2008
Сообщений: 896
Alex_St is a name known to allAlex_St is a name known to allAlex_St is a name known to allAlex_St is a name known to allAlex_St is a name known to allAlex_St is a name known to all
По умолчанию

0x94 - это адрес чипа. Т.к. младший бит адреса - это флаг W/R, то 0x4A сдвигаем влево и получаем 0x94. Но в RTD2660 есть еще один финт. Младший бит из этих 0x4A - это флаг автоинремента. Соответственно, получаем 4 нужных адреса:
0x94 - чтение без автоинкремента.
0x95 - запись без автоинкремента.
0x96 - чтение с автоинкрементом.
0x97 - запись с автоинкрементом.

соответственно, запись вида 94-60-46 означает передать в устройство:
старт, потом 94, потом 60, потом 46, потом стоп. Учитывая, что функция LL_LptI2cWrite сама добавляет адрес - то в нее передаем только два оставшихся байта. Тут 0x60 - это команда записи Common Instruction Register (стр311 даташита), 46 - это Read c rd_num=3.
__________________
Мой журнал: http://www.pccar.ru/showthread.php?p=79335
Alex_St вне форума   Ответить с цитированием