전송 속도 구성은 x를 시작한 후에만 변경됩니다.

전송 속도 구성은 x를 시작한 후에만 변경됩니다.

i2c 구성 파일을 변경하여 현재 전송 속도가 300000이 되도록 했습니다. 재부팅하고 i2c 전송 속도 검사기를 시작했습니다. sudo ./checkbr 하지만 내가 얻은 것은 일반적인 전송 속도 설정(기본값)인 것 같습니다. 그런 다음 startx를 실행하고 GUI를 로드합니다. 터미널을 열고 동일한 단계를 따릅니다. sudo ./checkbr 후에 원하는 전송 속도 = 300000을 얻었습니다. x 서버를 로드하지 않고 왜 300000을 얻을 수 없나요? 또한 i2c_bcm2708을 제거하고 전송 속도 = 300000으로 다시 추가하려고 시도했지만 startx를 수행하지 않으면 여전히 결과가 없습니다. 그것이 중요하다면 i2c에서 데이터를 읽기 위해 반복되는 C++ 코드 조각을 사용하여 전송 속도를 확인하고 데이터를 읽는 데 걸리는 시간을 측정합니다. X 서버가 다운되면 X가 가동될 때보다 읽기 속도가 3배 느려집니다. 코드는 다음과 같습니다.

  for (;;) {
        I2CInterface.readRegister(MPU6050_ADDRESS, MPU6050_RA_ACCEL_XOUT_H, 14, data);
        oldTime = curTime;
        clock_gettime(CLOCK_REALTIME, &curTime);
        dt = ( (static_cast<int64_t>(curTime.tv_sec)*1000000000 + static_cast<int64_t>     (curTime.tv_nsec)) - (static_cast<int64_t>(oldTime.tv_sec)*1000000000 + 
        static_cast<int64_t>(oldTime.tv_nsec)) ) /1000000000.0;
        printf( "%7f \n", dt);
   }

I2CInterface.readRegister의 마지막 두 매개변수는 바이트 수와 저장 위치입니다.

관련 정보