Bonjour à tous,
Tout d'abord, je suis sur Mac OSX 10.6 avec Matlab R2011a.
J'ai fais une recherche sur google mais impossible de trouver un solution à mon problème.
J'essaye de récupérer les valeurs qui transitent par le port de ma carte arduino mais matlab me pose des soucis.
J'ouvre mon port de cette manière:
Le problème c'est que si jamais je fais une mauvaise manip après l'ouverture, matlab se met en busy infini, je suis obligé de le killer et après impossible de se reconnecter au port (busy infinie) et même le logiciel Arduino n'arrive plus à se connecter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 clear all; close all; port='/dev/tty.usbserial-AH01B1BN'; BaudRate=9600; %% Initialisation de la connexion s=serial(port); set(s,'BaudRate',BaudRate); set(s, 'terminator', 'LF'); %% Ouverture du port fopen(s);
J'ai l'impression que dans le cas d'une fermeture de force de matlab après un fopen, il me bloque le port d'une manière ou d'une autre.
Pourtant quand je test les port avaible, mon port apparait bien:
Pour l'instant, le seul moyen que j'ai pour pouvoir réouvrir mon port c'est de redémarrer l'ordinateur ce qui n'est pas hyper efficient ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 instrhwinfo('serial') ans.AvailableSerialPorts ans = AvailableSerialPorts: {6x1 cell} JarFileVersion: 'Version 2.12.0' ObjectConstructorName: {6x1 cell} SerialPorts: {6x1 cell} ans = '/dev/tty.usbserial-AH01B1BN' '/dev/cu.usbserial-AH01B1BN' '/dev/tty.Bluetooth-PDA-Sync' '/dev/cu.Bluetooth-PDA-Sync' '/dev/tty.Bluetooth-Modem' '/dev/cu.Bluetooth-Modem' instrfind ans = []
C'est pas la première fois que j'ai ce genre de problème avec fopen/fclose mais d'habitude en redémarrant matlab je pouvais réouvrir mes ports.
EDIT: En fait dès que j'essaye de lire ce qui ce passe sur le port tty.usb.. que ce soit en python en dans un shell ça bloque ET ça me tue le port usb, c'est à dire que si je branche mon clavier dessus ça ne marche pas. Je dois rebooter mon pc...
J'espère que vous pourrez m'aider.
Merci
Matthieu
Partager