Muchas gracias Cerebro y Chenao sus aportes fueron de gran utilidad.
Despues de un tiempo sin computador ya esta reparado y funcionando full, he retomado mi proyecto.
Chenao la funcion leer_accel() esta definida por ti?? que es lo que hace???
Este es mi codigo que estoy usando, acepto comentarios y criticas
% Cerrar Todo
close all
clear
clc
% cerrar puerto serial si ya está abierto
s = instrfind;
if ~isempty( s )
fclose( s );
delete( s );
clear s
end
SerPIC = serial('COM1');
set(SerPIC,'BaudRate',9600);
set(SerPIC,'DataBits',8);
set(SerPIC,'Parity','none');
set(SerPIC,'StopBits',1);
set(SerPIC,'FlowControl','none');
fopen(SerPIC);
C=[];
for k=1:5
[A,count]=fscanf(SerPIC,'%s',3)
C=[C;A];
end
fclose(SerPIC);
Quiero comentar que si almaceno los datos en un vector de la siguiente forma C=[C A]; lo que pasa como estoy recibiendo datos que tienen entre 1 y 4 digitos queda cada digito ocupando una posicion de vector por ejemplo si recibo 654, 654, 998, 889, 889,
me queda el vector C con un largo de 15
es decir queda esto
C= 654654998889889 con lenght(C)=15
asi que uso C=[C;A] para que me quede con lenght(C)=5
- otra cosa que me causo curiosidad es que los datos en la pic son de tipo unsigned long de 10 bit ya que son leidos del ADC y me di cuenta de que en rs232 los envia como ASCCI...
- mientras escribia esto se me ocurrio cambiar el tipo de %s a %int y funciono C=[C A] como yo queria
- otra consulta como se sube el codigo aca en el foro para que quede en un ventana aparte dentro del post
muchas gracias
atte. un novato