- Главная
- Форум
- Микроконтроллеры и Системы на Модуле (SOM)
- Микроконтроллеры
- USB virtual com в stm32f105/107
USB virtual com в stm32f105/107
- super_puper
- Автор темы
- Посетитель
- Денис Ягов
- Посетитель
Зачем ломать голову?а на мой пост так никто и не ответил(, действительно из моих знакомых разработчиков им проще микруху поставить за 1.2 бакса чем голову ломать со встроенным усб
Всё просто: Всё общение инициируется USB Host (который в ПК). Хост кладёт вам в очередь приёма данные, которые он отправляет в ваше устройство. Он же заберает данные из очереди, которые надо считать. Задача ПО - своевременно забирать данные из очереди приёма и складывать данные в очередь отправки, если есть что отправлять. Остальное - бантики. :
По вашему предыдцщему посту....
У вас есть 2 варианта:
1. использовать библиотеку предыдущей версии 3.3 и писать всё в ней.
2. заменить все файлы стандартной библиотеки периферии на новые, включая sturtup и system_stm32f10x.c Файл system_stm32f10x.c - должен правильно настраивать тактирование (частота кварца и тактирование периферии... и всё такое)
Если выполнить действие 2 корректно - будет работать, это даже не вопрос. В этом нет ничего сложного, данную работу я выполнять не буду, т.к. есть более интересные задачи (если кто-то другой возьмётся - то пускай делает).
- super_puper
- Автор темы
- Посетитель
- Stepanov Ivan
- Посетитель
- Денис Ягов
- Посетитель
Быстродействие системы не может так зависеть от библиотек. Скорее всего замена файла System_stm32f10x.c (или подобного для других семейств) повлекла за собой смену частоты тактирования системы. Вот и летает.....Вопрос: а оно тебе надо? Пример из личного опыта, писал проект под самыми новыми библиотеками STM32F10x Peripherial Library v3.5 (к слову, stm32f107, загрузка контроллера примерно 80%), и все бы хорошо, но как то раз посоветовали мне переделать проект под старые библиотеки (предыдущая версия, если не обибаюсь, как раз 3.0). Переделал. Эффект - у меня чавка на пол упала. Прога просто "летать" стала быстродействие примерно раза в полтора увеличилось, минимум. Я не совсем понял как так получилось, но скажем так, в библиотеках 3.5 частоту шины APB(не помню точно, не пинайте если что) за каким то чертом программно порезали. А на "старых" библиотеках - нет. Вот и думай.
Из личного опыта ..... Я как-то залил готовый проект, предназначенный для одной отладочной на другую. Всё работало, нереканий не было.... Потом заметил, что кварц на моей отладочной плате не 8МГц, а 12.5МГц. В результате, вместо положенных максимум 72МГц тактирующих ядро приходило 112.5 .... Так что смена всех системных файлов под нож должна быть аккуратной ..... Скажем, не ножом, а скальпелем. Файлы, управляющие периферией (таймер, АЦП, и т.д.), можно вырубить топором.
- Stepanov Ivan
- Посетитель