|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
26.03.2014, 17:53 | #1 |
Пользователь
Регистрация: 27.11.2009
Сообщений: 38
|
Вывод в СОМ порт фикс.уровня
Выводится только ПАКЕТ импульсов, что не есть хорошо
public Form1() { InitializeComponent(); SerialPort mySerialPort = new SerialPort("COM1"); } private void button1_Click(object sender, EventArgs e) //нажмем кнопку и выведем на некоторе время { if (!mySerialPort1.IsOpen) { mySerialPort1.BaudRate = 9200; //задаем скорость. mySerialPort1.Open(); } for (int i = 0; i < 999; i++) { mySerialPort1.WriteLine("1"); } mySerialPort1.Close(); } |
26.03.2014, 18:04 | #2 | ||
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
Цитата:
Цитата:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
||
26.03.2014, 18:26 | #3 |
Пользователь
Регистрация: 27.11.2009
Сообщений: 38
|
|
26.03.2014, 18:53 | #4 | |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
Что фиксированный? RS-232 - это стандарт передачи данных перепадами уровней +-5...12 вольт. Если вы хотите жмякать фиксированными уровнями, то пользуйте служебные сигналы DTR/RTS, а не TX. EscapeCommFunction() http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Код:
Цитата:
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation Последний раз редактировалось raxp; 26.03.2014 в 18:57. |
|
26.03.2014, 19:12 | #5 |
Пользователь
Регистрация: 27.11.2009
Сообщений: 38
|
Задача решена, используется 4- нога 9-и пинового СОМ порта, т.е DTR. Вот работающий код:
if (!mySerialPort1.IsOpen) { mySerialPort1.Open(); } mySerialPort1.DtrEnable = true; // 4 нога 9-и пинового порта Thread.Sleep(1000); mySerialPort1.Close(); |
26.03.2014, 19:34 | #6 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
Что DTR, что RTS. Что и требовалось доказать. p.s.: кроме того, не забывайте, что вы использовали метод компонента-обертки, который в итоге все равно дергает EscapeCommFunction(). От WinAPI вам никуда не деться.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
27.03.2014, 11:23 | #7 |
Пользователь
Регистрация: 27.11.2009
Сообщений: 38
|
Спасибо за внимание... хотя мало что понял из ваших советов ну в общем, проблема снята.
|
27.03.2014, 11:30 | #8 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
Мда, уж. Если MSDN в упор игнорируете, то будет вам тяжело.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
30.03.2014, 15:25 | #9 |
Пользователь
Регистрация: 27.11.2009
Сообщений: 38
|
Я ж только учусь))) И пока трудно правильно фильтровать поток инфы... Проблема: Форма 1 - разместили элемент mySerialPort1, открыли порт, вывели 1. По кнопке на Ф1 открыли Форму2, на ней такой же mySerialPort1... скинуть в 0 кодом на Ф2 не получается.... Нужно так: порт открыт в течение жизни формы 1, а управление им нужно с Ф2. Как?
|
30.03.2014, 18:09 | #10 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
...объявите объект глобально.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Lazarus, СОМ порт | gusluk | Lazarus, Free Pascal, CodeTyphon | 10 | 22.07.2011 04:12 |
сом порт , БД | olegd | Помощь студентам | 7 | 05.07.2010 10:34 |
освободить СОМ порт | varelik | Общие вопросы Delphi | 11 | 11.02.2010 21:49 |
СОМ порт | JUDAS | Win Api | 0 | 10.01.2009 21:27 |
СОМ порт | SERG1980 | Общие вопросы Delphi | 3 | 17.05.2007 08:06 |