×

Внимание

Форум находится в режиме только для чтения.

USB virtual com в stm32f105/107

10 года 11 мес. назад #4298 от super_puper
super_puper ответил в теме Re: USB virtual com в stm32f105/107
а на мой пост так никто и не ответил(, действительно из моих знакомых разработчиков им проще микруху поставить за 1.2 бакса чем голову ломать со встроенным усб
10 года 11 мес. назад #4299 от Денис Ягов
Денис Ягов ответил в теме Re: USB virtual com в stm32f105/107

а на мой пост так никто и не ответил(, действительно из моих знакомых разработчиков им проще микруху поставить за 1.2 бакса чем голову ломать со встроенным усб

Зачем ломать голову?
Всё просто: Всё общение инициируется USB Host (который в ПК). Хост кладёт вам в очередь приёма данные, которые он отправляет в ваше устройство. Он же заберает данные из очереди, которые надо считать. Задача ПО - своевременно забирать данные из очереди приёма и складывать данные в очередь отправки, если есть что отправлять. Остальное - бантики.  ::)

По вашему предыдцщему посту....
У вас есть 2 варианта:
1. использовать библиотеку предыдущей версии 3.3 и писать всё в ней.
2. заменить все файлы стандартной библиотеки периферии на новые, включая sturtup и system_stm32f10x.c Файл system_stm32f10x.c - должен правильно настраивать тактирование (частота кварца и тактирование периферии... и всё такое)

Если выполнить действие 2 корректно - будет работать, это даже не вопрос. В этом нет ничего сложного, данную работу я выполнять не буду, т.к. есть более интересные задачи (если кто-то другой возьмётся - то пускай делает).
10 года 11 мес. назад #4300 от super_puper
super_puper ответил в теме Re: USB virtual com в stm32f105/107
да я уже несколько раз пытался пересобрать ваш пример на новые библы 3.3.0.  не получается мне кажется это очень важная задача и интересная.. сами же видите большинство мелкосерийников до сих пор покупает отдельные микросхемы, а был бы у вас рабочий пример на новых библах всё было бы намного проще и лучше..
10 года 11 мес. назад #4306 от Stepanov Ivan
Stepanov Ivan ответил в теме Re: USB virtual com в stm32f105/107
Вопрос: а оно тебе надо? Пример из личного опыта, писал проект под самыми новыми библиотеками STM32F10x Peripherial Library v3.5 (к слову, stm32f107, загрузка контроллера примерно 80%), и все бы хорошо, но как то раз посоветовали мне переделать проект под старые библиотеки (предыдущая версия, если не обибаюсь, как раз 3.0). Переделал. Эффект - у меня чавка на пол упала. Прога просто "летать" стала быстродействие примерно раза в полтора увеличилось, минимум. Я не совсем понял как так получилось, но скажем так, в библиотеках 3.5 частоту шины APB(не помню точно, не пинайте если что) за каким то чертом программно порезали. А на "старых" библиотеках - нет. Вот и думай.
10 года 11 мес. назад #4307 от Денис Ягов
Денис Ягов ответил в теме Re: USB virtual com в stm32f105/107

Вопрос: а оно тебе надо? Пример из личного опыта, писал проект под самыми новыми библиотеками STM32F10x Peripherial Library v3.5 (к слову, stm32f107, загрузка контроллера примерно 80%), и все бы хорошо, но как то раз посоветовали мне переделать проект под старые библиотеки (предыдущая версия, если не обибаюсь, как раз 3.0). Переделал. Эффект - у меня чавка на пол упала. Прога просто "летать" стала быстродействие примерно раза в полтора увеличилось, минимум. Я не совсем понял как так получилось, но скажем так, в библиотеках 3.5 частоту шины APB(не помню точно, не пинайте если что) за каким то чертом программно порезали. А на "старых" библиотеках - нет. Вот и думай.

Быстродействие системы не может так зависеть от библиотек. Скорее всего замена файла System_stm32f10x.c (или подобного для других семейств) повлекла за собой смену частоты тактирования системы. Вот и летает.....

Из личного опыта ..... Я как-то залил готовый проект, предназначенный для одной отладочной на другую. Всё работало, нереканий не было.... Потом заметил, что кварц на моей отладочной плате не 8МГц, а 12.5МГц. В результате, вместо положенных максимум 72МГц тактирующих ядро приходило 112.5 .... Так что смена всех системных файлов под нож должна быть аккуратной ..... Скажем, не ножом, а скальпелем. Файлы, управляющие периферией (таймер, АЦП, и т.д.), можно вырубить топором.
10 года 11 мес. назад #4308 от Stepanov Ivan
Stepanov Ivan ответил в теме Re: USB virtual com в stm32f105/107
Я и говорю, что в новой версии библиотек, максимальная частота тактирования, к примеру периферийной шины APB1, 24МГц, вместо системных 72МГц. Например с новыми бмблиотеками скорость передачи усарт была в 3 раза ниже, чем со старыми.
Время создания страницы: 0.061 секунд
Работает на Kunena форум