0
ADXL345加速度計をテストして、デバイスIDを取得して、正しく配線されていることを確認しました。今、私は別の軸で加速を得ようとしているので、私は知らない何らかの理由で登録アドレスが送られないので、完了できません。バイトを書き込むために、加速度計のデータシートによればTM4C123GH6PMボードのI2Cを使用してレジスタ・アドレスを送信していません
:
使用コード:ロジック・アナライザで
void initialize_accelerometer()
{
I2C0_MSA_R |=0x000000A6; //Specify the slave address of the master and that the next operation is a Transmit or write
I2C0_MDR_R=0x2D; //Register address, this is the data not sent
I2C0_MCS_R=0x00000003; // (START, RUN);
while(I2C0_MCS_R&I2C_MCS_BUSBSY){};
if((I2C0_MCS_R&I2C_MCS_ERROR)==0)
{
I2C0_MDR_R=0x08; //Data -> Set power control to measure
I2C0_MCS_R=0x00000005; // (RUN, STOP);
if((I2C0_MCS_R&I2C_MCS_ERROR)==0)
{
set_data_format();
}
}
}
テスト、結果は次のようになります。
ご覧のとおり、すべてが送信されますが、レジスタのアドレスです。エラーを見つけるのを助けてくれますか?
おかげで、 ハビエル