0
디바이스 ID를 올바르게 입력했는지 확인하기 위해 ADXL345 가속도계를 테스트했습니다. 이제는 다른 축에서 가속을 얻으려고 했으므로 레지스터 주소가 내가 알지 못하는 어떤 이유로 보내지지 않았기 때문에 완료 할 수 없습니다.레지스터 주소가 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();
}
}
} 논리 분석기
시험을 결과는 다음과 같습니다.
자세히 알 수 있듯이 레지스터 주소 만 전송됩니다. 오류를 찾을 수 있도록 도와 주시겠습니까?
덕분에, 하비에르