气压计1s读一次,过采样率128,测量成功

This commit is contained in:
lmx
2025-12-10 19:17:54 +08:00
parent d92818a894
commit 5ecd42b5cf
9 changed files with 32 additions and 551 deletions

View File

@ -129,7 +129,7 @@ void sensor_collect_task(void){
while(1){//4组地磁数据、16组六轴数据、1组气压计数据
interval++;
mmc5603nj_read_mag_data(&mmc5603nj_buffer);
mmc5603nj_read_mag_data(&mmc5603nj_buffer); //地磁的采样率为100Hz每10ms读一次
for(int i = (interval-1)*4; i < interval*4; i++){
send_data.sensor_package[i].mmc5603nj_buffer[0] = (int32_t)(mmc5603nj_buffer.x * 1000.0f);
send_data.sensor_package[i].mmc5603nj_buffer[1] = (int32_t)(mmc5603nj_buffer.y * 1000.0f);
@ -165,11 +165,11 @@ void sensor_collect_task(void){
SL_data_index += MPU_FIFO_LEN/4;
if(interval >= 4){
if(interval >= 4){ //40ms
interval = 0;
SL_data_index = 0;
#if BMP280
bmp280_read_data(&temperature, &pressure);//每40ms读取一次
bmp280_read_data(&temperature, &pressure);//每40ms读取一次高精度的采样率为26.5Hz
#else
WF_GET_Temperature_Pressure(&temperature, &pressure);
#endif
@ -178,7 +178,7 @@ void sensor_collect_task(void){
send_data.sensor_package[i].pressure = (int32_t)(pressure * 1000.0f);
}
xlog("temperature: %.2f,pressure: %.2f\n",temperature,pressure);
// xlog("temperature: %.2f,pressure: %.2f\n",temperature,pressure);
// xlog("fifo_num:%d\n",fifo_num);
send_data.checkout_1 = 0xBE;
@ -454,7 +454,7 @@ void sensor_test_task(void){
while(1){
WF_GET_Temperature_Pressure(&temperature, &pressure);
xlog("temperature: %.3f,pressure: %.3f\n",temperature,pressure);
os_time_dly(40);
os_time_dly(100);
}
}