Contents
function send_serial_data(data_to_send)
%File Name : ..\MATLAB\send_serial_data.m %Author : Arnauld BIGANZOLI (AB) %Contact : arnauld.biganzoli@gmail.com %Web page : http://www.u825.inserm.fr/25949988/0/fiche___pagelibre %Tools used : MATLAB Version: 8.0.0.783 (R2012b) %Exemple of use : send_serial_data('Hello World')
Clean window
Nettoyage de l'environnement MATLAB
close all;
clc;
Open serial object
Ouverture du port COM1
my_serial_obj = serial('COM1'); % Select COM port number fopen(my_serial_obj); % Open COM port set(my_serial_obj, 'DataBits', 8, 'Parity', 'none', 'StopBits', 1); % Init COM port dialog echo = 'Initialisation de la communication série sur le COM1, OK' % Vider la mémoire tempon du port COM if my_serial_obj.BytesAvailable trash = fread(my_serial_obj, my_serial_obj.BytesAvailable); end
echo = Initialisation de la communication série sur le COM1, OK
Send and receive message
% Envoie du message fprintf(my_serial_obj, '%s\r\n', data_to_send); echo = 'Transmission des données, OK' % Lecture d'une eventuelle réponse echo = 'Lecture du port série...' pause(0.9); % pause de 900 ms dans l'attente d'une réponse if my_serial_obj.BytesAvailable return_value = fread(my_serial_obj, my_serial_obj.BytesAvailable); char(return_value') else disp('no answer') end
echo = Transmission des données, OK echo = Lecture du port série... ans = pong
Close serial object
Fermeture de port COM1
echo = 'Fermeture de port COM1...' fclose(my_serial_obj); %clear my_serial_obj; echo = 'Rupture de la liaison serie, fin du programme, OK ;-)'
echo = Fermeture de port COM1... echo = Rupture de la liaison serie, fin du programme, OK ;-)
end