Я бы им с радостью пользоватся, году в 2001, когда уткнулся в производительность бейсика и в то, что нужно было искать обьявление АПИ и писать их самому.
Но перешёл на мс си, теперь вижал студия, и никакой бейсик не нужен.
И все обьявления всегда есть, и вставки на асме на-те, и примеров куча, и производительность и размеры файлов, и кросс платформенность при использовании библиотек (хотя я всё своё предпочитаю или от ОС).
Я уже молчу про средства профилирования.
И темболее про средства разработки и отладки.
Слабо себе представляю отладку многопоточных приложений с асинхронным в/в в чём то отличном от си.
Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.
Зарегистрирован: Вс мар 30, 2008 14:31:51 Сообщений: 331
Рейтинг сообщения:0
Я не спорю, если Си прекрасно знаешь, то никакие бейсики не нужны.
Но во первых Си изучить сложнее чем PureBasic.
Например, этот бейсик я изучил по имеющимся примерам в дистрибутиве и справке, но я сомневаюсь что только по справке удастся Си полностью изучить. Хотя кто знает, может и ошибаюсь.
Но одно знаю точно, как ни крути, но во многих случаях написать прогу на бейсике проще. Как говорили в одной известной рекламе "Если нет разницы, то зачем платить больше?"
Цитата:
вставки на асме на-те, и примеров куча, и производительность и размеры файлов, и кросс платформенность при использовании библиотек
Всё это и PureBasic поддерживает.
Можно использовать asm вставки.
Почти две тысячи примеров здесь http://www.purearea.net/pb/CodeArchiv/CodeArchiv.html Минимальный размер исполняемого файла от 2 Кб. Минимальный размер исполняемого файла с окном от 10 Кб.
Скорость работы исполняемого файла тоже высокая. В конце этой страницы есть таблица.
Поддерживаются следующие ОСи: Windows, AmigaOS, MacOS и Linux
Код:
И темболее про средства разработки и отладки. Слабо себе представляю отладку многопоточных приложений с асинхронным в/в в чём то отличном от си
Здесь не соглашусь.
PureBasic имеет прекрасный отладчик, который неплохо отлаживает как обычные так и многопоточные приложения.
Мне проиходилось писать программы с несколькими потоками и я не замечал каких либо сложностей в отладке фоновых потоков.
нужно было искать обьявление АПИ и писать их самому.
Но перешёл на мс си, теперь вижал студия, и никакой бейсик не нужен. И все обьявления всегда есть,
Самое интересное, что PureBasic вообще не нужны ни какие объявления для API,и не нужны заголовочные файлы - все АПИ он считает своими родными функциями. Только надо добавить в конце функции знак подчёркивания и всё!
Код:
MessageBox_(0,"Hi","About",#MB_OK)
Вот эта строчка чудесно компилируется одним нажатием кнопки, ехе файл будет размером ок 2 кб, и полученная программа запустится на любой Win платформе, и от задумки написать эту стоку и до конечного экзешника пройдёт не более 10 секунд.Что ещё надо не профессионалу, пишущему вспомогательные проги для "дома и семьи"?
Ни какой вижел студио на это не способен - там только запуск среды и настройка проекта займут несколько минут.
Зарегистрирован: Вс мар 30, 2008 14:31:51 Сообщений: 331
Рейтинг сообщения:0
Специальных функций для этого нет.
Всё зависит от того, с каким USB устройством предполагается работать.
Если это виртуальный COM порт, то проблем нет, работаем как с обычным.
Я тут ночью зашол на форум по пурику почитал мысли гуру на эту тему однозначных мыслей нет все в тумане и запутано мне нужно управлять гдето 14 или 15 выходов например светодиды зажечь потушить желательно чтоб скорочть реакции была не самая медленая я вот нашол в нете люди используют для нечто подобного управляемый контролер Arduino Duemilanove в его основе mega168
[urlhttp://www.linuxcenter.ru/shop/embedded/arduino/microcontroller_board_arduino_duemilanove_ATmega168/[/url] ево описание вот и я так думаю без контролера скорей всего нечего неполучится я нашол на форуме по пурику разработку товарища калиграфа помоиму так там был програматор с юсб в нем был использован телефонный дата кабель чтоб реализовать виртуальный ком порт вот надо творить чтото подобное
Зарегистрирован: Вс мар 30, 2008 14:31:51 Сообщений: 331
Рейтинг сообщения:0
Цитата:
помоиму так там был програматор с юсб в нем был использован телефонный дата кабель чтоб реализовать виртуальный ком порт вот надо творить чтото подобное
Если нужен виртуальный COM порт, то проблем нет, так как с ним можно работать как с реальным.
А с COM портом, работать довольно просто.
Обзавелся отладочной платой с мегой 168 там стоид преобразователь интерфеса UCB чип FTDI короче виртуальный com порт получается собствено раскажите как с ним работать и библиотеки бы желательно хотелось получить.
Заранее благодарен
Зарегистрирован: Вс мар 30, 2008 14:31:51 Сообщений: 331
Рейтинг сообщения:0
Работа с виртуальным портом почти ничем не отличается от работы с "железным". Так-же открываем порт и ведём диалог с устройством.
Вот небольшой пример
Код:
; Формируем строку открытия порта. Данные расположены так. ; Имя_порта: скорость, чётность, количество_бит, длительность_стоп_бита. Port.s="COM1: 9600, N, 8, 1" ; Открываем порт. Если порт удалось открыть, то в переменную "id" будет записанно число НЕ равное нулю id=ComOpen(Port, #HandShakeModeNone, 255, 255 )
If id=0 MessageRequester("Ошибка", "Не удалось открыть порт", #MB_OK|#MB_ICONERROR) End EndIf
Out.c=10 ; Это число передаём устройству ComWrite(id, @Out, 1) ; Отправка байта устройству через COM порт
Delay(200) ; Ждём 200 миллисекунд, за это время устройство должно ответить
If ComInputBufferCount(id)>0 ; Устройство ответило In.c=0 ComRead(id, @In, 1) ; Читаем из порта первый принятый байт MessageRequester("", "Принят байт "+Str(In), #MB_OK|#MB_ICONINFORMATION) Else ; Устройство не передело байт MessageRequester("", "Устройство не ответило", #MB_OK|#MB_ICONWARNING) EndIf
ComClose(id) ; Закрываем порт
End
Программа упрощена до предела.
Она открывает порт COM1, при скрости обмена 9600 бод. проверка чётности отсутствует. количество бит в пакете - 8. длительность стоп-бита - 1.
Далее программа отсылает в порт число 10 и ждёт 200 мс. пока усторойство будет "переваривать" информацию и отвечать. В качестве ответа может быть байт с любым значением.
Для компиляции программы нужна библиотека дополнительных функций MVCOM, которая собствено и работает с портом.
Она находится в архиве MVCOM_Lib_For_PB4.RAR, содержимое которого нужно извлечь в папку с программой PureBasic, чтобы установить библиотеку.
PS.
Для администрации.
А почему запрещена загрузка документов с расширением RTF?
Вложения:
Комментарий к файлу: Описание на русском функций библиотеки MVCOM MVCOM_DOC.rar [7.88 KiB]
Скачиваний: 573
Комментарий к файлу: Библиотека функций, для работы с COM портом. MVCOM_Lib_For_PB4.rar [15.89 KiB]
Скачиваний: 546
однако косяк в 5 строке
constant not found #HandShakeModeNone
эта строка полностью
id=ComOpen(Port, #HandShakeModeNone, 255, 255 )
вопрос решил забраской файла MvComRes.res куда положено но серавно неработает пишит ошибка неудалось открыть порт
Зарегистрирован: Вс мар 30, 2008 14:31:51 Сообщений: 331
Рейтинг сообщения:0
Цитата:
ошибка неудалось открыть порт
Виртуальному порту какой номер присвоела система?
Наверное не COM1...
В общем, сверни все окна чтобы был виден "рабочий стол".
Дальше кликни правой кнопкой мышки по значку "Мой компьютер" и в появившемся меню выбери "Свойства".
Откроется окно.
Перейди на вкладку "оборудование" и щёлкни по кнопке "Диспетчем устройств".
В открывшемся окне поищи раздел "Порты (COM и LPT)".
В этом разделе должен быть виртуальный COM порт.
Посмотри какой у него номер (например, COM4) и введи его в строке 3 программы.
сом5 поставил этот порт отправляю это число там 10 установлено вроде было выдает нет ответа устройства ну принципи работает тока заставить само устройство понимать эту команду и потвержадь ее получение
При приходе команды с програмы моргает светодиод подключенный к выходу 13 контролера
Цитата:
int led = 13; //Светодиод
тоесть это идет сигнал о приходе команды проста она несоответствует необходимой получается так
Странная вешь творится в среде разработке програм для arduino есть така функция последовательный монитор короче я выбираю там скорость бмена с контролером 9600 и посылаю число 11 он отвечает Set slat to 1. и зажигает светодиод подключеный к ножке 1 контролера посылаю код 00 выдает такое сообщение Set bank to 0. и тушит светодиод а на прогу в пурике некак неведется кроме как подмигивает светодиодом подключенной к ноге 13 вроде проясняется посылаю код 111 в контролеры получаю сооюшение
Set slat to 1. Set bank to Fire cue 1 Это значит что устанавливаем лог 1 на слоте 1 загораится и горит светодиод на ноге 2 кнтролера в нашем случае это a0 = 2; для примера a1 = 3; b1 = 6; b2 = 7; дальше идет выбор банка и кратковременая подача лог 1 на канал на время установленое в задержке int cueHigh = 400; для того чтоб теберь сбросить все на исходную тоесть потушить светодиод (отключить слот) вбиваю код 000 пробовал тоже повторить в пурике ноль реакции. Какие будут предложения ???????????
Зарегистрирован: Вс мар 30, 2008 14:31:51 Сообщений: 331
Рейтинг сообщения:0
Как я понял, эта программа должна получать не один байт, а 3, может в этом проблема?
Вполне возможно что из-за этого она ведёт себя некорректно.
Я думаю что отлаживать связь с компьютером лучше на какой-нибуть простой программе, которая просто принимает один байт и отсылает его назад, ну и для контроля отображает на индикаторе.
ну по идеи да кстати у меня эта прога скорей всего есть на яве в паке с ардуино там много каких то файлов на яве
вот как представлена цифра 2 а потом 000
запись
Порт открыт процессом "javaw.exe" (PID: 520)
32 30 30 30 2000
ответ
53 65 74 20 73 6C 61 74 20 74 6F 20 32 2E 20 53 Set slat to 2. S
65 74 20 62 61 6E 6B 20 74 6F 20 00 2E 20 46 69 et bank to .. Fi
72 65 20 63 75 65 20 30 0D 0A 53 65 74 20 73 6C re cue 0..Set sl
61 74 20 74 6F 20 30 at to 0
есть пример на визулал бейсике работы с аналоговыми портами контролера
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения