Professional Documents
Culture Documents
PRACTICA N_1
Miguel Calle Romero
Laboratorio de Maquinas Elctricas, Departamento de Energa Elctrica, Escuela Politcnica Nacional
Quito, Ecuador
calleromero_1993@hotmail.com
fwrite (serial)
get (serial)
instrcallback
instrfind
instrfindall
isvalid (serial)
length (serial)
load (serial)
readasync
record
save (serial)
serial
serialbreak
set (serial)
size (serial)
stopasync
I. CONSULTA
A. Consultar los comandos que permiten manejar el
puerto de comunicacin serial asincrnica de un PC,
usando Visual C, Matlab y LabView.
Matlab
Esta es una forma bsica de conectarse al puerto serial
utilizando Matlab.
%configurando puerto y dando de alta s como
objeto asociado al com1
s=serial(COM!,BauRate,9600);
%abriendo el Puerto
fopen(s);
%lee una linea de texto y la almacena en datos
no incluye terminador
datos=fgetl(s);
%escribe datos en el puerto en binario
fwrite(s,datos);
%cerrando el puerto
fclose(s);
%borrando el objeto de memoria
delete(s);
clear
%algunas instrucciones asociadas con este puero
en Matlab:
fgetl (serial)
fgets (serial)
fopen (serial)
fprintf (serial)
fread (serial)
fscanf (serial)
Labview
Para establecer una comunicacin serial en este programa
se hace uso de VISA serial, y los siguientes comandos:
VISA CONFIGURE SERIAL PORT
Inicializa las especificaciones del puerto serial.
VISA Write
Escribe el dato desde el buffer de escritura hacia el
dispositivo o interface especificado por VISA resource
name
VISA Read
Lee el nmero especificado de bytes desde el dispositivo
o interface especificado por VISA resource name y
retorna los datos en el buffer de escritura,
Inherits Component
VISA Close
Cierra una sesin con el dispositivo o un evento
especificado por VISA resource name
Visual C
Espacio de nombres:
System.IO.Ports
Ensamblado:
System (en System.dll)
Sintaxis:
Public Class SerialPort
Nombre
Descripcin
SerialPort()
SerialPort(IContainer)
SerialPort(String)
SerialPort(String,
Int32,Parity)
SerialPort(String,
Int32,Parity,Int32)
SerialPort(String,
Int32,Parity,Int32,
StopBits)
ldi tempo,0b00001110
out porta,tempo ;salidas
ldi tempo,0b01111111
out ddrb,tempo
ldi tempo,0b10000000
out portb,tempo
ldi tempo,0b11111111
out ddrc,tempo
ldi tempo,0b00000000
out portc,tempo
ldi tempo,0b11111010
out ddrd,tempo
in tempo,mcucr
andi tempo,0b11101111
out mcucr,tempo
ldi tempo,high(ramend)
out sph,tempo
ldi tempo,low(ramend)
out spl,tempo
;configuracion ADC
ldi tempo,0b01100000
sts admux,tempo ;el adc tiene reerencia a avcc, 10 bits
justificacion a izquierda y elijo canal cero
ldi tempo,0b00000001
sts didr0,tempo ;se indica que pa0 tendra entrada
analogica
sei
lazo:
lds tempo,dato_recibido
call BIN_BCD
call BCD_SEGMENTOS
call BARRIDO
rjmp lazo
recepcion:
push tempo
in tempo,sreg
push tempo
lds dato,udr0
sts dato_recibido,dato
sts num0,dato
clr dato
sts num1,dato
lds tempo,adc0
sts udr0,tempo
espera2:
lds r20,ucsr0a
sbrs r18,5
rjmp espera2
pop tempo
out sreg,tempo
pop tempo
reti
C. Seudocdigo
[1]
Help de Labview
[2]
http://mecatronicaitz.blogspot.com/2010/09/
puerto-serial -con-matlab.html
[3]
https://msdn.microsoft.com/eses/library/system.io.ports.serialport(v=vs.11
0).aspx?cs-save-lang=1&cs-lang=vb#code-s
nippet-1