Например TDA7294

Форум РадиоКот • Просмотр темы - Visual Studio и COM порт
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 16, 2024 21:29:46

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Visual Studio и COM порт
СообщениеДобавлено: Сб июн 13, 2020 01:10:05 
Родился

Зарегистрирован: Чт июн 04, 2020 03:04:18
Сообщений: 9
Рейтинг сообщения: 0
Здравствуйте коты.
Подскажите пожалуйста. Такая проблема.

Имеется переменная типа uint8 v Visual Studio С++
Нужно ее отправить в COM порт.
Пробую вот так, но вылетает error

uint8 DataDiscrete = 50;
this->serialPort1->Write(DataDiscrete);

----------
Ошибка

error C2664: void System::IO::Ports::SerialPort::Write(System::String ^): невозможно преобразовать параметр 1 из "unsigned char" в "System::String ^"


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Visual Studio и COM порт
СообщениеДобавлено: Сб июн 13, 2020 01:28:46 
Собутыльник Кота

Карма: 36
Рейтинг сообщений: 808
Зарегистрирован: Ср ноя 29, 2017 06:58:50
Сообщений: 2906
Рейтинг сообщения: 0
функция Write имеет строковый операнд, а не числовой, конвертируйте DataDiscrete в строку.

_________________
Меня здесь больше нет


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Visual Studio и COM порт
СообщениеДобавлено: Сб июн 13, 2020 03:07:56 
Родился

Зарегистрирован: Чт июн 04, 2020 03:04:18
Сообщений: 9
Рейтинг сообщения: 0
А если нужно числовой передать? Как быть тогда?

Добавлено after 10 minutes 8 seconds:
А еще лучше если можете подскажите как правильно передать переменную или массив через COM


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Visual Studio и COM порт
СообщениеДобавлено: Сб июн 13, 2020 03:09:30 
Собутыльник Кота

Карма: 36
Рейтинг сообщений: 808
Зарегистрирован: Ср ноя 29, 2017 06:58:50
Сообщений: 2906
Рейтинг сообщения: 0
Передавать буфер в виде массива байтов.
Пример мне написать сложно - я совершенно не знаю, как в Вашем случае правильно, так как не знаю задачи.
Могу порекомендовать: https://www.codeproject.com/Articles/99 ... rary-for-C
Если программирование только-только начато, то вообще отказаться от такого пути, в пользу .Net - там проще.

_________________
Меня здесь больше нет


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Visual Studio и COM порт
СообщениеДобавлено: Сб июн 13, 2020 08:10:38 
Родился

Зарегистрирован: Чт июн 04, 2020 03:04:18
Сообщений: 9
Рейтинг сообщения: 0
Вроде разобрался
но не понятно что это зв массив такой

array<unsigned char>^ tvec;
tvec = gcnew array<unsigned char>(12);


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Visual Studio и COM порт
СообщениеДобавлено: Сб июн 13, 2020 09:39:03 
Электрический кот

Карма: -4
Рейтинг сообщений: 70
Зарегистрирован: Вт ноя 19, 2019 06:10:18
Сообщений: 1054
Рейтинг сообщения: 0
Вбей в посковике "Serial gate".


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Visual Studio и COM порт
СообщениеДобавлено: Сб июн 13, 2020 11:29:33 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 157
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3328
Рейтинг сообщения: 2
BlackKilkennyCat писал(а):
вообще отказаться от такого пути, в пользу .Net - там проще.
ТС и так использует .NET, смотрите.
evgenizi61 писал(а):
System::IO::Ports::SerialPort::Write(System::String ^)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Visual Studio и COM порт
СообщениеДобавлено: Сб июн 13, 2020 16:06:21 
Собутыльник Кота

Карма: 36
Рейтинг сообщений: 808
Зарегистрирован: Ср ноя 29, 2017 06:58:50
Сообщений: 2906
Рейтинг сообщения: 0
Мурик, разве? он написал, что С++, ошибка в стиле C++/CLI да и gcnew на это указывает

Вроде разобрался
но не понятно что это зв массив такой
array<unsigned char>^ tvec;
tvec = gcnew array<unsigned char>(12);


управляемый массив из 12-ти байтов, могущих принимать только положительные значения.
примеры: https://docs.microsoft.com/ru-ru/cpp/do ... ew=vs-2019

Вам имеет смысл сначала изучить основы языка. А то, по аналогии с автомобилем, Вы уже несетесь по трассе, но только сейчас стали задаваться вопросом, где руль.

Добавлено after 10 minutes 45 seconds:
Мурик, Вы правы. Старею )
Я имел ввиду, использование С#

_________________
Меня здесь больше нет


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Visual Studio и COM порт
СообщениеДобавлено: Пн июн 15, 2020 21:14:50 
Родился

Зарегистрирован: Чт июн 04, 2020 03:04:18
Сообщений: 9
Рейтинг сообщения: 0
Пишу в основном для МК на СИ. Вот и спросил что это за массив такой, так как синтаксис не очень понятен


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Visual Studio и COM порт
СообщениеДобавлено: Чт сен 17, 2020 16:24:23 
Опытный кот

Карма: 4
Рейтинг сообщений: 1
Зарегистрирован: Сб ноя 08, 2008 18:32:36
Сообщений: 764
Рейтинг сообщения: 0
У меня такая ситуация: Пишу код в visual studio на главной форме есть кнопки для настройки, открытия и закрытия порта. Все работает.
На дочерней форме (Form 2 ) есть кнопки включения и выключения лампочки, на форме 3 есть кнопки включения и выключения вентилятора. То-есть при нажатии на каждую из кнопок нужно посылать в порт байт. Но из форм 2 и 3 никак не получается взаимодействовать с ком портом. Подскажите как это можно исправить? Компилятор говорит что такое имя не существует в текущем контексте

пишу так
_serialPort.Write(led_state, 0, 10); //передать байт


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Visual Studio и COM порт
СообщениеДобавлено: Чт сен 17, 2020 17:22:22 
Собутыльник Кота

Карма: 36
Рейтинг сообщений: 808
Зарегистрирован: Ср ноя 29, 2017 06:58:50
Сообщений: 2906
Рейтинг сообщения: 0
ну дык кто родитель-то _serialPort? наверное, Form1?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Visual Studio и COM порт
СообщениеДобавлено: Чт сен 17, 2020 18:42:05 
Опытный кот

Карма: 4
Рейтинг сообщений: 1
Зарегистрирован: Сб ноя 08, 2008 18:32:36
Сообщений: 764
Рейтинг сообщения: 0
Form 1 основная форма, там объявлен и настраивается порт. Нужно как-то посылать байты в порт через кнопки на form 2 и form3


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Visual Studio и COM порт
СообщениеДобавлено: Чт сен 17, 2020 19:06:25 
Собутыльник Кота

Карма: 36
Рейтинг сообщений: 808
Зарегистрирован: Ср ноя 29, 2017 06:58:50
Сообщений: 2906
Рейтинг сообщения: 0
Ну и? это же объектно-ориентированное программирование. необходимо указать родительский объект, его тип, и тогда можно ссылаться к его элементам, если у них свойство modifiers = public
например, можно так:
Код:
(this.Owner as Form1)._serialPort.Write(led_state, 0, 10); //передать байт


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Visual Studio и COM порт
СообщениеДобавлено: Ср сен 23, 2020 22:25:01 
Мучитель микросхем
Аватар пользователя

Карма: 6
Рейтинг сообщений: 87
Зарегистрирован: Вс янв 09, 2011 23:05:37
Сообщений: 450
Откуда: СССР
Рейтинг сообщения: 0
Можно передать в конструкторы форм Form2 и Form3 ссылку на объект _serialPort. Получится рабоче-крестьянский DI (Dependency injection). Здесь _serialPort будет выступать в роли сервиса.

_________________
Иван Сусанин - первый полупроводник :solder:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Visual Studio и COM порт
СообщениеДобавлено: Ср сен 23, 2020 23:11:49 
Собутыльник Кота

Карма: 36
Рейтинг сообщений: 808
Зарегистрирован: Ср ноя 29, 2017 06:58:50
Сообщений: 2906
Рейтинг сообщения: 0
Это нужно только если у тех форм владельцем не является Form1. В противном случае будет совершенно ненужное усложнение конструктора.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y