| | |
| | | s16 test_read_block(u8 ReadAddr, u8 Len, u8 *read_buffer) |
| | | { |
| | | uint8_t t; |
| | | uint32_t temp=0; |
| | | // uint32_t temp=0; |
| | | for(t=0;t<Len;t++) |
| | | { |
| | | *read_buffer=test_read_byte(ReadAddr+t); |
| | |
| | | IIC2_Wait_Ack(); |
| | | IIC2_Stop();//产生一个停止条件 |
| | | delay_us(10); |
| | | return 1; |
| | | } |
| | | |
| | | /* Shall implement delay in milliseconds*/ |
| | |
| | | * and returns computed double precision pressure and temperature value |
| | | */ |
| | | ret = dps310_get_processed_data(&drv_state,&pressure,&temperature); |
| | | GetPressAndHeight(); |
| | | // GetPressAndHeight(); |
| | | |
| | | // printf("get_processed_data ret val = %d, pressure = %lf, temp = %lf\n",ret,pressure,temperature); |
| | | |
| | |
| | | |
| | | return 0; |
| | | } |
| | | float Height; |
| | | float GetPressAndHeight(void) |
| | | { u8 ret; |
| | | |
| | | |
| | | /*Instantiate driver state*/ |
| | | |
| | | ret = dps310_get_processed_data(&drv_state,&pressure,&temperature); |
| | | |
| | | Height = 44330 * (1.0 - pow((pressure / 1013.25), (1 / 5.255))); |
| | | if(pressure==0) |
| | | Height = 0; |
| | | return Height; |
| | | //height=PressToHeight(pressure,temperature); |
| | | // printf("get_processed_data ret val = %d, pressure = %lf, temp = %lf\n",ret,pressure,temperature); |
| | | } |
| | | //float Height; |
| | | //float GetPressAndHeight(void) |
| | | //{ |
| | | //// u8 ret; |
| | | //// |
| | | //// |
| | | //// /*Instantiate driver state*/ |
| | | //// |
| | | //// ret = dps310_get_processed_data(&drv_state,&pressure,&temperature); |
| | | //// |
| | | //// Height = 44330 * (1.0 - pow((pressure / 1013.25), (1 / 5.255))); |
| | | //// if(pressure==0) |
| | | // Height = 0; |
| | | //// return Height; |
| | | //// //height=PressToHeight(pressure,temperature); |
| | | //// // printf("get_processed_data ret val = %d, pressure = %lf, temp = %lf\n",ret,pressure,temperature); |
| | | // } |