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