реклама на сайте
подробности

 
 
> Использование RS-232 через Matlab, Ошибка при работе
Muscat
сообщение Dec 28 2010, 05:51
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 277
Регистрация: 8-04-09
Из: Москва
Пользователь №: 47 382



Добрый день
Возникла следуюшая проблема

Работаю с COM-портом из Matlab, использую пакет Instrumental Toolbox.
Делаю все по мануалу
Код
>> s = serial('COM1');
>> s

   Serial Port Object : Serial-COM1

   Communication Settings
      Port:               COM1
      BaudRate:           9600
      Terminator:         'LF'

   Communication State
      Status:             closed
      RecordStatus:       off

   Read/Write State  
      TransferStatus:     idle
      BytesAvailable:     0
      ValuesReceived:     0
      ValuesSent:         0

>> fopen(s)

пробую что то вывести в порт
Код
>> fprintf(s,'ABCD')

Далее происходит странное. На осцилографе я вижу, что заданная последовательность байт появляется, затем следует байт перевода каретки (0001010),то есть физически все отработано, но Матлаб сообщает, что

Код
??? Error using ==> serial.fprintf at 144
An error occurred during writing.

И на этом работа скрипта останавливается. Вопрос следующие
1) Кто нибудь сталкивался с этой ошибкой ранее?
2) Как отключить в функции fprintf передачу байта перевода каретки?


--------------------
Because it's there
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 3)
D.I.M.A
сообщение Dec 29 2010, 05:32
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 26-08-08
Из: Москва
Пользователь №: 39 824



Цитата(Muscat @ Dec 28 2010, 11:51) *
...
2) Как отключить в функции fprintf передачу байта перевода каретки?


fprintf(s,'%s','ABCD')
Go to the top of the page
 
+Quote Post
Muscat
сообщение Jan 17 2011, 14:24
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 277
Регистрация: 8-04-09
Из: Москва
Пользователь №: 47 382



Самому отвечать на свои вопросы в этом разделе уже становится хорошей традицией, так что продолжу ее

В конференции MATLAB-Cental мне ответили, что проблема раньше часто встречалась при работе с "виртуальными" ком-портами, физически реализуемыми через USB. Большинство производителей уже обновили свои драйвера, компания Актель выслала драйвера только после запроса.


--------------------
Because it's there
Go to the top of the page
 
+Quote Post
Степ_дубль
сообщение Mar 7 2011, 23:29
Сообщение #4





Группа: Участник
Сообщений: 13
Регистрация: 3-10-07
Из: Зеленоград
Пользователь №: 31 023



Цитата(Muscat @ Dec 28 2010, 08:51) *
...
2) Как отключить в функции fprintf передачу байта перевода каретки?


s.Terminator = '';
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 19:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.01369 секунд с 7
ELECTRONIX ©2004-2016