Stm32 virtual com port драйвер windows 7

Драйвер виртуального com-порта

Скидка 5%—> Спецпредложения—> Скидка 5% Вакансии Сделать заказ Помощь в подборе Расчёт влажности Техподдержка Фото и видео Наши клиенты

Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

25 лет на рынке контрольно-измерительных приборов

российское производство КИП

собственный научно-исследовательский центр

выгодные цены от производителя

изготовление приборов под ваши уникальные задачи

Южная промзона, проезд 4922
(Озерная аллея), строение 2
г. Москва, Зеленоград

Заполняя любую форму на сайте, вы соглашаетесь с политикой конфиденциальности.

Согласие на обработку персональных данных

Для регистрации и оформления заказа на сайте www.eksis.ru (далее – Сайт), в соответствии с Федеральным законом от 27 июля 2006 года № 152-ФЗ «О персональных данных» Пользователь дает АО «ЭКСИС» (далее – Оператор), зарегистрированному по адресу 124460, город Москва, город Зеленоград, проезд 4922-й, дом 4, строение 2, пом I, ком. 25г свое согласие на обработку любой информации, размещенной на Сайте (включая, без ограничения: сбор, систематизацию, накопление, хранение, уточнение (обновление, изменение), использование, распространение (в том числе передачу), обезличивание, блокирование, уничтожение, а также осуществление любых иных действий с персональными данными с учетом действующего законодательства РФ) и подтверждает, что давая такое согласие, Пользователь действует по своей воле и в своем интересе, а также в интересах третьих лиц.

Своим согласием Пользователь подтверждает согласие третьих лиц, информация о которых размещается на Сайте, на передачу и обработку их персональных данных и предоставляет право Оператору на осуществление любых действий в отношении персональных данных третьих лиц, которые необходимы для достижения целей обработки персональных данных, указанных в Политике обработки персональных данных.

Согласие на обработку персональных данных, загруженных на Сайт Пользователем считается полученным Оператором от Пользователя с момента выбора варианта «Зарегистрироваться», расположенного в конце формы регистрации на Сайте.

Настоящее согласие на обработку персональных данных действует до момента его отзыва Пользователем. Согласие на обработку персональных данных может быть отозвано в любое время путем направления Оператору официального запрос в порядке предусмотренным Политикой обработки персональных данных.

Оператор Системы обязуется в течение 30 (тридцати) рабочих дней с момента получения уведомления об отзыве согласия на обработку персональных данных Пользователя прекратить их обработку, уничтожить и уведомить Пользователя об уничтожении персональных данных.

Настоящее согласие распространяется исключительно на персональные данные Пользователя, размещенные на Сайте.

© 2003-2021 АО «ЭКСИС» – гигрометры, термогигрометры, газоанализаторы, анемометры и другие контрольно-измерительные приборы.

Источник

Drivers

Virtual COM Port Drivers

Virtual COM port (VCP) drivers cause the USB device to appear as an additional COM port available to the PC. Application software can access the USB device in the This page contains the VCP drivers currently available for FTDI devices.

For D2XX Direct drivers, please click here.

Installation guides are available from the Installation Guides page of the Documents section of this site for selected operating systems.

Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

VCP Drivers

Virtual COM port (VCP) drivers cause the USB device to appear as an additional COM port available to the PC. Application software can access the USB device in the same way as it would access a standard COM port.

This software is provided by Future Technology Devices International Limited “as is” and any express or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed. In no event shall future technology devices international limited be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage.

FTDI drivers may be used only in conjunction with products based on FTDI parts.

FTDI drivers may be distributed in any form as long as license information is not modified.

If a custom vendor ID and/or product ID or description string are used, it is the responsibility of the product manufacturer to maintain any changes and subsequent WHCK re-certification as a result of making these changes.

For more detail on FTDI Chip Driver licence terms, please click here.

Currently Supported VCP Drivers:

Subscribe to Our Driver Updates

Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

Our Driver Updates

Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

Processor Architecture
Operating SystemRelease Datex86 (32-bit)x64 (64-bit)PPCARMMIPSIIMIPSIVSH4Comments
Windows*201 7 – 0 8-302.12.282.12.28WHQL Certified. Includes VCP and D2XX.
Available as a
setup executable
Please read the Release Notes
and
Installation Guides.
LinuxAll FTDI devices now supported in Ubuntu 11.10, kernel 3.0.0-19
Refer to TN-101 if you need a custom VCP VID/PID in Linux
VCP drivers are integrated into the

kernel.

Mac OS X 10.3 to 10.82012-08-102.2.182.2.182.2.18Refer to TN-105 if you need a custom VCP VID/PID in MAC OS
Mac OS X 10.9 and
above
201 9 – 12 – 242.4.4This driver is signed
by Apple
Windows CE 4.2-5.2**2012-01-0 61.1.0.201.1.0.201.1.0.101.1.0.101.1.0.10
Windows CE 6.0/7.02016-11-031.1.0.22
CE 6.0 CAT

CE 7.0 CAT

1.1.0.22

CE 6.0 CAT

CE 7.0 CAT

1.1.0.101.1.0.101.1.0.10For use of the CAT files supplied for ARM and x86 builds refer to AN_319
Windows CE 20132015-03-06 1.0.0 1.0.0VCP Driver Support for WinCE2013

*Includes the following version of of the Windows operating system: Windows 7, Windows Server 2008 R2 and Windows 8, 8.1, Windows server 2012 R2, Windows Server 2016 and Windows 10. Also, as Windows 8 RT is a closed system not allowing for 3rd party driver installation our Windows 8 driver will not support this variant of the OS. You must use the Windows RT build for this platform.

Источник

Не работает плата Iskra JS или JS Mini

Если у вас возникли проблемы с подключением платы Iskra JS к Espruino Web IDE, последовательно пройдите все шаги описанные на это странице.

Проверьте среду разработки

Проверьте установку драйвера для STM32

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

Установка драйвера STM32

Всё получилось. Теперь можно продолжить «настройку платы».

Установка дополнительных драйверов для STM32

Рассмотрим альтернативный вариант подключения платы Iskra JS к Espruino Web IDE. Поочерёдно установите все драйвера с официального сайта ST-Link. Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

Если установка дополнительных драйверов не помогла, прошейте контроллер через DFU-режим

Прошивка платы через DFU

Если в диспетчере устройств не появилось новых устройств, вероятней всего микроконтроллер STM32F405RG не прошит. Для решения проблемы прошейте платформу в DFU-режиме

Disconnect при загрузке скрипта

Если в диспетчере устройств плата отображается корректно, но при попытке загрузить скрипт происходит рассоединение Espruino Web IDE и платы Iskra JS, то вероятнее всего проблема заключается в особенности ОС Windows. Обойти эту проблему можно используя дополнительно USB-Hub. При подключении Hub будет служить посредником между компьютером и управляющей платой. Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

Не работают библиотеки Амперки

Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

По умолчанию библиотеки модулей Амперки работают только при подключении к интернету. Если вы планируете прошивать плату Iskra JS без выхода в сеть, необходимо настроить ваш компьютер.

Должен быть указан:

И в поле Module Extensions :

Должен быть указан:

Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

Программа не сохраняется после сброса питания

Среда настроена, плата прошивается, код работает. Но после переподключения питания программа не сохраняется в памяти контроллера, как будто её и не было. Для решения проблемы сделайте ряд действий.

После этого программа должна сохранятся в памяти контроллера после переподключения питания.

Если вы прошли все шаги и проблема осталась — обратитесь в нашу техническую поддержку через форму обратной связи или по телефону.

Источник

STM32 и USB. Часть 2. Немного о драйверах и софте.

Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

В прошлой части я рассказал как примерно должен выглядеть проект-заготовка для Keil девайса с USB, дал ссылку на мой проект и рассказал как его настроить под практически любую плату с STM32.

В проекте был реализован интерфейс с двумя bulk-ендпойнтами (in и out), с моим «кастомным» протоколом, при помощи которого можно включать, выключать и заставлять светоиоды мигать с нужными временами горения/не горения.

Ну и выложил небольшую программу для всего этого:

Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

Пользователь Vga в комментариях справедливо заметил, что разработка своего драйвера под Windows — задача далеко не тривиальная, и что проще реализовать стандартный класс, например HID, под который драйверы есть.

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

Итак, у нас на повестке следующие варианты:

1) Написать драйвер самому. Задача сложная, неблагодарная, долгая. Тут сразу можно отсылать, например к Windows Driver Foundation. Есть куча примеров, которые можно расковырять и адаптировать под свои задачи.
Несомненный плюс этого варианта — решение получится красивое и компактное. Но стоит ли это потраченного времени…
Извините, если разочаровал тех, кто полагал, что я опишу именно этот вариант 🙂

2) Реализовать на девайсе один из стандартных классов, например тот же HID.
Но давайте предположим что мы вот буквально вчера наконец-то заставили наш девайс определяться по USB как самостоятельное устройство, и все что мы умеем — это читать и писать в ендпойнты. Нам нужно что-то еще проще.

3) Использовать готовые средства. Вот на этом «варианте для начинающих и не только» мы остановимся.

Но вначале небольшое отступление.

Как Windows опознает наши USB-устройства?
В большинстве случаев это «зашитые» в девайс VID (Vendor ID) и PID (Product ID). Есть исключения, например HID и Mass Storage, там Windows опознает класс устройства и подсовывает уже приготовленный драйвер.

Есть, конечно, и более хитрые варианты, но мы на них пока останавливаться не будем.
Наши VID и PID можно подсмотреть в файле usb_desc.c проекта. И обязательно прочтите комментарий 😉

Итак, встречаем: libusb-win32 и Jungo WinDriver.

Jungo WinDriver

Весьма удобная штука.
Запускаем Wizard, выбираем по VID-PID наш девайс:
Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

Генерим inf-файл, сохраняем, устанавливаем тут же драйвер, и вуаля. Вот они наши два bulk-ендпойнта + управляющий, нулевой ендпойнт:
Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

А вот наш девайс определился в диспетчере устройств:
Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

Но и это не все. Жмем на волшебную кнопку Generate Code:
Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

И получаем воистину огромный набор вариантов на любой вкус:
Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

Генерим проект, запускаем. Вот — готовая программа для работы с нашим девайсом:
Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7
Можем отправлять данные в ендпойнты и читать их оттуда.
Например, отправка пакета на скриншоте согласно моему протоколу зажжет светодиод номер два. (См protocol.txt в проекте Keil)

Я сгенерил проект для C# (.NET) и мне он выдал солюшен с двумя проектами: Собственно сама программа и либа для работы с девайсом по USB. В последней есть все необходимое, вплоть до событий подключения-отключения девайса. А вообще если не заморачиваться, то все можно свести к обычному чтению-записи в ендпойнты.
Дальше сами справитесь? 😉

Ну а теперь поговорим о недостатках.
1) Jungo WinDriver — штука очень уж платная. Кто хочет расстроиться — цены лежат тут.
2) У некоторых USB-девайсов бывает несколько конфигураций. Такое встречается редко, но встречается.
WinDriver с такими работать не умеет, а функция смены конфигурации помечена как Not Implemented Yet.

libusb-win32

Распаковываем и в папочке bin лежит программка inf-wizard.exe. Тоже визард для генерации инф-файла, а заодно и всех остальных файлов, необходимых для установки драйвера.
Запускаем, выбираем наш девайс, сохраняем inf и прочее в отдельную папочку:
Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

Ну и сразу инсталлируем.
Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

Теперь, чтобы создать свой проект, необходимо собрать все нужные от libusb файлы в папках lib, include, подсмотреть как работать с устройством, в папке exampes. А работать — проще простого (см bulk.c)

LibUsbDotNet

Нет, вы только вдумайтесь: .NET-надстройка над библиотекой, портированной из линукса под win32!
Конечно, изврат извратом, но мне понравилось.

Именно при помощи этой либы я и написал программу из предыдущей статьи. Работать с ендпойнтами так же просто.

Ну а дальше реализуем небольшой протокол, пишем-читаем ендпойнты и радуемся мигающим светодиодам 🙂
Только не забываем одну тонкость: весь обмен с USB-девайсом происходит по инициативе хоста. Поэтому, данные не попадут в хост до тех пор пока хост сам не захочет их прочитать.
Вот и все.

Итого

Вот, в принципе, все необходимое для того чтобы создать на STM32 примитивный USB-девайс. Весь обмен сводится к чтению и записи в ендпойнты и разбору того, что же туда все-таки пришло и что с этим делать.
Лично мне кажется этот вариант проще, чем реализация на девайсе стандатного класса.

Как всегда, файлы с проектом находятся тут.

Ну а в следующий раз, когда дойдут руки, будем поднимать USB Mass Storage, причем поверх уже сделанного интерфейса для светодиодов, т.е. составное USB-устройство 🙂

Источник

STM Урок 33. HAL. USB. Virtual Com Port

Урок 33

HAL. USB. Virtual Com Port

Отладочную плату ипользуем ту же: STM32F4-DISCOVERY.

Проект создаём из проекта I2CLCD80. Назовем его USB_OTG_CDC. Запустим проект в Cube, включим USB_OTG_FS в режим Device_Only

Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

В USB_DEVICE в разделе Class For FS IP выберем пункт Communication Device Class (Virtual Port Com).

Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

Лапки портов PD4-PD7, PB8, PB9 отключим, это пережиток прошлых занятий

Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

В Clock Configuration выберем следующие делители (нажмите на картинку для увеличения изображения)

Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

В Configuration ничего не трогаем, т.к. прерывания там выставились сами.

Сгенерируем и запустим проект, подключим lcd.c и настроим программатор на автоперезагрузку.

Соберем проект. Прошьём контроллер. У нас появится неизвестное устройство, скачаем драйвер на наше виртуальное устройство usb. Для этого зайдем на сайт st.com, в строке поиска там вводим virtual com port, скачиваем и устанавливаем драйвер. Затем желательно зайти в папку с установленным драйвером, выбрать папку, соответствующую разрядности нашей операционной системы, и запускаем также установку и оттуда.

У нас скорей всего устройство установится с ошибкой (код 10)

Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

Есть несколько типов решений, мне понравился именно этот, т.к. более простой: в файле usbd_cdc.h заменим размер пакета, вместо 512 напишем 256 в данной строке:

#define CDC_DATA_HS_MAX_PACKET_SIZE 256 /* Endpoint IN & OUT Packet size */

Соберём, прошьём и увидим, что ошибка исчезла.

Сначала попытаемся передать данные на ПК.

Для этого мы сначала откроем файл usbd_cdc_if.c и исправим там в 2х строчках 4 на 64

/* It’s up to user to redefine and/or remove those define */

#define APP_RX_DATA_SIZE 64

#define APP_TX_DATA_SIZE 64

В файле main.c закомментируем весь пользовательский код кроме инициализации и очистки дисплея

Также в main.c подключим файл usbd_cdc_if.h для видимости функций приема и передачи

/* USER CODE BEGIN Includes */

Немного изменим в главной функции строковую переменную, убавив в ней размер и добавив префикс tx

В файле usbd_cdc_if.c добавим прототип функции передачи, скопировав объявление из реализации данной функции в том же файле

/* USER CODE BEGIN PRIVATE_FUNCTIONS_DECLARATION */

uint8_t CDC_Transmit_FS(uint8_t* Buf, uint16_t Len);

/* USER CODE END PRIVATE_FUNCTIONS_DECLARATION */

В main() внесём данные в строку

В бесконечном цикле попробуем эти данные отправить в порт USB, используя функцию, прототип которой мы добавили

CDC_Transmit_FS((unsigned char*)str_tx, strlen(str_tx));

/* USER CODE END WHILE */

Соберём код, прошьём контроллер и посмотрим результат в терминальной программе.

Вроде передать нам что-то удалось. Теперь попробуем что-нибудь принять. Здесь чуть посложнее, т.к. для этого используется уже обработчик прерывания, коим является в файле usbd_cdc_if.c функция CDC_Receive_FS.

Добавим ещё одну строковую глобальную переменную в main()

/* USER CODE BEGIN PV */

Объявим её также и в файле usbd_cdc_if.c

/* USER CODE BEGIN PRIVATE_VARIABLES */

extern char str_rx[21];

/* USER CODE END PRIVATE_VARIABLES */

В функцию CDC_Receive_FS в этом же файле добавим некоторый код и кое-что закомментируем

static int8_t CDC_Receive_FS (uint8_t* Buf, uint32_t *Len)

Добавим переменную в main()

Занесенные в наш буфер данные попробуем вывести на дисплей, для этого в бесконечном цикле в функции main() добавим определённый код

CDC_Transmit_FS((unsigned char*)str_tx, strlen(str_tx));

Соберём проект. Прошьём код и посмотрим результат, вводя в терминальной программе и отправляя в порт USB какие-нибудь строки.

Stm32 virtual com port драйвер windows 7. Смотреть фото Stm32 virtual com port драйвер windows 7. Смотреть картинку Stm32 virtual com port драйвер windows 7. Картинка про Stm32 virtual com port драйвер windows 7. Фото Stm32 virtual com port драйвер windows 7

20 комментариев на “ STM Урок 33. HAL. USB. Virtual Com Port ”

«Есть несколько типов решений, мне понравился именно этот, т.к. более простой: в файле usbd_cdc.h заменим размер пакета, вместо 512 напишем 256 в данной строке….»

Просто измените размер кучи (Minimum Heap Size) в настройка CubeMX. Вместо значения 0x200 задайте 0x400.

И комп увидит устройство без ошибок.

При инициализации структур компилятору элементарно не хватает места, заданного по умолчанию, для выделения памяти.

Пардон, очепятка вышла. Не компилятору, а функции malloc.

Спасибо, так действительно проще.

Сначала не смог реализовать данный пример на SystemWorkbench в части приёма данных и передачи их из функции приёма в main посредством массива str_rx с модификатором extern – компилятор ругается на использование неопределённых переменных, а если задать ему какие-нибудь значения, то только эти заданные значения и будут передаваться. Вышел из положения объявив массив обмена str_rx в заголовочном файле usbd_cdc_if.h

Спасибо.Я сделал так.В хидер usbd_cdc_if.h добавил две строчки
extern uint8_t UserRxBufferFS[1000];
uint8_t receiveBufLen;
В метод CDC_Receive_FS добавил перед return receiveBufLen = *Len;
И в main ловил данные просто одним условием
if(receiveBufLen > 0)// если получены данные от ПК
<
HAL_Delay(250);
CDC_Transmit_FS((uint8_t*) UserRxBufferFS,receiveBufLen);
// эхо для наглядности
receiveBufLen = 0;// сброс получения
>
Всё просто,а UserRxBufferFS чистить не нужно от мусора,он сам чистится.

Здравствуйте! Спасибо огромное за ваши уроки, тут пожалуй лучший ресурс с уроками по стм32!
Хочу спросить, а как использовать CDC_Receive_FS в main.c? Я проделал в usbd_cdc_if.c «эхо», но мне нужно принимать из него и гнать дальше. Наверное вопрос больше в целом по си чем по контроллеру, а то иначе мне получается надо много всего переносить в usbd_cdc_if.c.

Думаю, что следует добавить в main.c функцию, а в файле usbd_cdc_if.c – на неё прототип и вызвать её в CDC_Receive_FS, И весь свой пользовательский код затем писать в файле main.c.
Это именно СИ. Так что обязательно подтяните свои знания по языку.

Ох, видимо сперва надо читать коментарии, прочитал тот что выше.

При переходе на USB cтолкнулся с такой проблемой. Скажем, конструкция, приведённая в примере, а именно
sprintf(str_tx,»USB Transmit\r\n»);
CDC_Transmit_FS((unsigned char*)str_tx, strlen(str_tx));
работает без проблем. Но, если я делаю так
sprintf(str_tx,»USB Transmit»);
CDC_Transmit_FS((unsigned char*)str_tx, strlen(str_tx));
CDC_Transmit_FS((unsigned char*)»\r\n», 2);
то CDC_Transmit_FS((unsigned char*)»\r\n», 2); не срабатывает (не успевает) и данные летят без переноса строки. Если ставить задержку, то работает как надо. По неопытности, может, это я и принял бы как должное, если бы перед этим не работал бы с UART где такая же конструкция работает без проблем. Для работы с UART уже написана довольно хорошая часть программы и менять её структуру очень не хочется, тем более, что данные передаются не в текстовом формате а в посылке имеется несколько меток. Что можно сделать, чтобы посылки могли идти подряд без задержки?

Скорей всего придется делать конкатенацию передаваемых строк с помощью strcat. Была аналогичная проблема при использовании CDC. Автор применял этот метод в одном из уроков.

Здравствуйте
А если я хочу передавать данные с микроконтроллера на компьютер?

Константин:
А мы их туда и передали.

Установил различные драйвера VCP от STM, но при этом плата не определяется при подключении её к компьютеру. только виден STLink Virtual COM Port. Кто уже сталкивался с такой проблемой.

Оказалась, что проблема с дровами. Надо их полностью сносить и устанавливать заново.

You can use(for example):

sprintf(str_tx,»ADC:%d \r\n»,ADC_Data);
CDC_Transmit_FS((unsigned char*)str_tx, strlen(str_tx));

where ADC_Data is your ADC value.

Спасибо за примеры. С USB в базовой библиотеке что-то не так. При первом подключении ком порт работает, но при передергивании USB – становится неизвестным устройством, иногда не сразу а через 5-10 секунд после повторного подключения…
Сейчас копаю в сторону функций вызываемых на отключение и подключение USB. Первое что кажется подозрительным, то что на подключение вызывается инициализация а на отключение USBD_LL_Suspend, затем на подключение снова инициализация, хотя есть USBD_LL_Resume. Пока дальнейших идей нет. Может что-то подскажете?

могу скачать драйвера для виртуального ком порта. У меня STM32F415RG, может есть у кого?

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *