Estoy tratando de leer datos en serie en MATLAB, quiero que esos datos se reciban en un archivo .txt en formato matricial (640 * 480). ¿Cómo se puede hacer esto?

Este requisito se puede lograr de las siguientes dos maneras:

  1. Puede utilizar las funciones integradas disponibles en Matlab R2016. Un buen ejemplo está aquí: http://in.mathworks.com/help/mat…
  2. Si no tiene la última versión de Matlab que admita esta función, intente con la siguiente pieza lógica:
  • Lea los datos transmitidos byte a byte.
  • Cree un bucle donde agregará un nuevo carácter de línea después de la entrada 640 y una pestaña después de cada byte leído.
  • Escriba estos datos estructurados (cada byte seguido de una pestaña y un nuevo carácter de línea después de 640 bytes) en un archivo de texto. Para escribir datos en archivos, puede buscar comandos escribiendo help fprintf en la línea de comandos de Matlab.

Si los datos son de tamaño 640 * 480, terminarás escribiendo una matriz en el archivo de texto con éxito.

Supongo que ha conectado algún dispositivo externo a su computadora desde su dispositivo DB-13. Básicamente existe la posibilidad de que pueda leer estos datos, utilizando Arduino Serial Data Acquisition, que es básicamente una herramienta de simulink. Ahora siga estos pasos como se sugiere,

  1. Ir a la biblioteca arduino en Simulink.
  2. Coloque el puerto com de comunicación en serie en el modelo.
  3. Ahora crea una variable en el modelo y une ambos bloques.
  4. Ahora ejecuta el modelo.

Probablemente eso debería hacer el truco.

fid = fopen (‘nombre_archivo_salida.txt’);
fprintf (fid, ‘% f’, your_output_stored_variable);
fclose (fid);