read
Sintaxis
Descripción
[
devuelve las lecturas del GPS en formato tt
,overrun
] = read(gps
)timetable
. Esta es una lectura sin bloqueo que devuelve puntos de datos N en formato de horario, donde N se especifica mediante la propiedad SamplesPerRead
y timetable
se especifica usando la propiedad OutputFormat
del objeto gpsdev
.
[
devuelve matrices de medidas del GPS. Esta es una lectura sin bloqueo que devuelve puntos de datos N en formato matricial, donde N se especifica mediante la propiedad lla
,groundSpeed
,course
,dops
,gpsReceiverTime
,timestamp
,overrun
] = read(gps
)SamplesPerRead
y matrix
se especifica utilizando la propiedad OutputFormat
del objeto gpsdev
.
Ejemplos
Leer datos del receptor GPS como horario
Lea los datos del receptor GPS conectado a la computadora host en un puerto serie específico.
Hardware requerido
Para ejecutar este ejemplo, necesita:
Módulo GPS UBlox Neo-6M
antena gps
Módulo USB a UART
cable USB
Cables de conexión
Conexión de hardware
Conecte los pines del módulo GPS UBlox Neo-6M a los pines de su módulo USB a UART. Las conexiones son:
VCC - +5V
RX-TXO
TX-RXI
Tierra - Tierra
Conecte la antena GPS al módulo GPS. Conecte el módulo USB a UART a la computadora host con un cable USB. GPS Fix se puede adquirir fácilmente en lugares que tengan una vista despejada del cielo. Espere a que el módulo GPS adquiera señales satelitales (Fix). Esto se puede verificar verificando el LED Fix (D1) de su módulo GPS.
Crear objeto GPS
Cree un objeto gpsdev
para el receptor GPS conectado a un puerto específico. Especifique el formato de salida de los datos como un calendario.
gps = gpsdev('COM4','OutputFormat',"timetable")
gps = gpsdev with properties: SerialPort: COM4 BaudRate: 9600 (bits/s) SamplesPerRead: 1 ReadMode: "latest" SamplesRead: 0 Show all properties all functions
Leer los datos del GPS
Leer los datos del GPS y devolverlos como horario.
[tt,overruns] = read(gps)
tt=1×5 timetable
Time LLA GroundSpeed Course DOPs GPSReceiverTime
________________________ _________________________ ___________ ______ ____________________ ________________________
22-Mar-2021 15:31:15.190 17.47 78.343 449.6 0.25619 NaN 9.31 1.48 9.19 22-Mar-2021 10:01:14.000
overruns = 0
Muestra el número de muestras leídas y las muestras disponibles en el búfer del host.
gps.SamplesRead
ans = 1
gps.SamplesAvailable
ans = 0
Suelte el objeto GPS para configurar las propiedades no ajustables. La función de liberación también borra el búfer y restablece las propiedades SamplesRead
y SamplesAvailable
.
release(gps)
Especifique el número de muestras por lectura en 2. Leer los datos del GPS.
gps.SamplesPerRead = 2; read(gps)
ans=2×5 timetable
Time LLA GroundSpeed Course DOPs GPSReceiverTime
________________________ _________________________ ___________ ______ ____________________ ________________________
22-Mar-2021 15:31:17.178 17.47 78.343 450 0.063791 NaN 9.32 1.48 9.2 22-Mar-2021 10:01:16.000
22-Mar-2021 15:31:17.178 17.47 78.343 450 0.063791 NaN 9.32 1.48 9.2 22-Mar-2021 10:01:16.000
Muestra el número de muestras leídas y las muestras disponibles en el búfer del host.
gps.SamplesRead
ans = 1
gps.SamplesAvailable
ans = 0
Limpiar
Cuando la conexión ya no sea necesaria, borre el objeto asociado.
delete(gps);
clear gps;
Leer datos del receptor GPS como matriz
Lea los datos del receptor GPS conectado a la computadora host usando el objeto serialport
.
Hardware requerido
Para ejecutar este ejemplo, necesita:
Módulo GPS UBlox Neo-6M
antena gps
Módulo USB a UART
cable USB
Cables de conexión
Conexión de hardware
Conecte los pines del módulo GPS UBlox Neo-6M a los pines de su módulo USB a UART. Las conexiones son:
VCC - +5V
RX-TXO
TX-RXI
Tierra - Tierra
Conecte la antena GPS al módulo GPS. Conecte el módulo USB a UART a la computadora host con un cable USB. GPS Fix se puede adquirir fácilmente en lugares que tengan una vista despejada del cielo. Espere a que el módulo GPS adquiera señales satelitales (Fix). Esto se puede verificar verificando el LED Fix (D1) de su módulo GPS.
Crear objeto GPS
Conéctese al receptor GPS usando el objeto serialport
. Especifique el nombre del puerto y la velocidad en baudios. Especifique el formato de salida de los datos como matriz.
s = serialport('COM4',9600); gps = gpsdev(s,'OutputFormat',"matrix")
gps = gpsdev with properties: SerialPort: COM4 BaudRate: 9600 (bits/s) SamplesPerRead: 1 ReadMode: "latest" SamplesRead: 0 Show all properties all functions
Leer los datos del GPS
Lea los datos del GPS y devuélvalos como matrices.
[lla,speed,course,dops,gpsReceiverTime,timestamp,overruns] = read(gps)
lla = 1×3
NaN NaN NaN
speed = NaN
course = NaN
dops = 1×3
NaN NaN NaN
gpsReceiverTime = datetime
NaT
timestamp = datetime
22-Mar-2021 03:41:00.274
overruns = 1
Muestra el número de muestras leídas y las muestras disponibles en el búfer del host.
gps.SamplesRead
ans = 1
gps.SamplesAvailable
ans = 0
Vacíe todos los datos de GPS acumulados en los buffers y restablezca las propiedades SamplesRead
y SamplesAvailable
.
flush(gps)
Muestra el número de muestras leídas y las muestras disponibles en el búfer del host.
gps.SamplesRead
ans = 0
gps.SamplesAvailable
ans = 0
Limpiar
Cuando la conexión ya no sea necesaria, borre el objeto asociado.
delete(gps); clear gps; clear s;
Argumentos de entrada
gps
— sensores gps
gpsdev
objeto
El sensor GPS, especificado como un objeto gpsdev
.
Argumentos de salida
tt
— datos gps
timetable
Datos de GPS, devueltos como timetable
. El timetable
devuelto tiene los siguientes campos:
LLA (Latitud, Longitud, Altitud)
Pista de velocidad
Curso sobre tierra
Dilución de precisiones (DOP), VDOP, HDOP, PDOP
Hora del receptor GPS
Hora: hora del sistema cuando se leen los datos, en formato
datetime
oduration
Tipos de datos: timetable
lla
— Posición en el sistema de coordenadas LLA
N-por-3 matriz
Posición del receptor GPS en la latitud, longitud y altitud geodésica (LLA), devuelta como un arreglo finito real N por 3. La latitud y la longitud están en grados, siendo el norte y el este positivos. La altitud está en metros.
Tipos de datos: double
groundSpeed
— Velocidad en m/s
N-por-1 vector
Velocidad de desplazamiento, devuelta como un vector finito real N-por-1.
Tipos de datos: double
course
— Curso sobre tierra
N-por-1 vector
Curso sobre el terreno en relación con el norte verdadero, devuelto como un vector finito real N por 1 de valores entre 0 y 2pi radianes.
Tipos de datos: double
dops
— Dilución de precisiones
N-por-3 matriz
Dilución de precisiones, devuelta como una matriz finita real N-por-3 de la forma [PDOP,HDOP,VDOP]
.
Tipos de datos: double
gpsReceiverTime
— hora UTC
N-por-1 vector
Hora UTC, devuelta como un vector N por 1.
Tipos de datos: datetime
timestamp
— Hora a la que se leen los datos del GPS
N-por-1 vector
Hora a la que se leen los datos GPS, devuelta como un vector finito real N por 1. Esta es la hora del sistema. Si TimeFormat
es datetime
, la marca de tiempo será datetime
. Si el TimeFormat
es un duration
, la marca de tiempo será duration
datetime
: muestra la fecha y hora en que se leen los datos.duration
: muestra el tiempo transcurrido en segundos después de la primera llamada de la funciónread
o la última ejecución de la funciónrelease
.
Nota
Si el SamplesPerRead
es mayor que 1, se realiza una extrapolación sobre el valor del tiempo. Por tanto, puede que no sea preciso.
Tipos de datos: datetime
| duration
overrun
— Invadir
escalar
La cantidad de muestras perdidas entre llamadas consecutivas a read
. El exceso es cero cuando ReadMode
se establece en oldest
.
Tipos de datos: double
Más acerca de
read
Salida
El objeto gpsdev
espera sentencias GPRMC, GPGGA y GPGSA como salidas del receptor GPS para obtener los valores requeridos. La función read
genera un error si estas oraciones no están disponibles.
La función read
genera NaN
y NaT
en las siguientes situaciones:
Si el módulo GPS no recibe datos válidos porque no hay bloqueo de satélite o cuando el GPS no da un valor particular.
Si hay una falla en la suma de verificación, los puntos de datos correspondientes serán
NaN
para salidas numéricas (lla
,speed
,course
,dops
) yNaT
paragpsRecieverTime
.lla
se toma de la sentencia GPGGA,speed
,course
ygpsRecieverTime
se toma de la sentencia GPRMC ydops
se toman de la sentencia GPGSA.
Debido a que la función read
no bloquea, se espera lo siguiente:
Si no hay datos nuevos disponibles, la salida de
read
son los datos anteriores. Por ejemplo, si el retraso entre lecturas posteriores es menor que elUpdateRate
del receptor GPS.
Debido a que los datos GPS se validan en la primera operación read
, puede llevar más tiempo en comparación con las operaciones read
posteriores.
Historial de versiones
Introducido en R2020b
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)