Для проекта я использую микроконтроллер LPC824 от NXP и хочу считывать данные с акселерометра через I2C. Этот акселерометр - MMA8453Q. Глядя в таблицу данных акселерометра, я вижу следующее:
Насколько я понимаю, это означает, что вы даете сигнал запуска, вы пишете адрес устройстваи оставьте запись позади него, вы получите подтверждение и т. д.
Адрес, который я должен написать, следующий:
регистр, который я выбрал длятеперь это регистр 0x0D, который является регистром «Кто я», его всегда следует читать как 0x3A.
Для людей, знакомых с примерами NXP, я опирался на один из них. Это код, который у меня есть atm:
*txData = 0x0D;
SetupXferRecAndExecute(0x1C, txData, 1, rxData, 0);
SetupXferRecAndExecute(0x1C, txData, 0, rxData, 1);
, и вот как он выглядит в области видимости
Итак, как я вижу, я отправляюАдрес устройства дважды, сначала я записываю адрес регистра, а затем хочу его прочитать, но он возвращает 0x00. Может кто-нибудь, пожалуйста, помогите мне? Заранее спасибо!