Files
gps/soc/software/gps_mmio_double_read/main.c
T
2026-07-12 11:01:51 +03:00

37 lines
835 B
C

#include <stdint.h>
#include "bsp/soc.h"
#include "bsp/uart.h"
struct gps_tracking_regs {
uint32_t control;
uint32_t prn;
uint32_t code_phase;
uint32_t abs_sample;
uint32_t status;
uint32_t doppler;
uint32_t nav_data[10];
uint32_t timeout;
uint32_t nav_solve_timer;
uint64_t rem_code_phase;
};
volatile uint32_t gps_mmio_read32_sink;
volatile uint64_t gps_mmio_read64_sink;
volatile double gps_mmio_double_sink;
int main(void)
{
volatile struct gps_tracking_regs *trck =
(volatile struct gps_tracking_regs *)BSP_GPS_TRCK0_BASE;
volatile double *double_at_rem_code_phase =
(volatile double *)&trck->rem_code_phase;
gps_mmio_read32_sink = trck->status;
gps_mmio_read64_sink = trck->rem_code_phase;
gps_mmio_double_sink = *double_at_rem_code_phase;
bsp_uart_wait_tx_idle();
return 0;
}