реклама на сайте
подробности

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> STM32F4, DCMI и USB
zheka
сообщение Mar 22 2015, 16:26
Сообщение #16


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Пробовал запустить пример кейловский Virtual ComPort, который правда под 407IG, запускается, но устройство обнаруживается компом, но не опознается.
А в аттаче то, что я собрал с нуля новым модным визардом в Keil 5 версии. Не видит при линковке одну переменную, хотя все везде прописано.

Коллеги, ну помогите мне запустить хоть один из 3 указанных проектов.
Go to the top of the page
 
+Quote Post
zheka
сообщение Mar 25 2015, 17:14
Сообщение #17


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Господа, эта задача (настройка CDC на Discovery) нерешаема? Или моя просьба слишком нагла и я прошу о слишком трудоемокой помощи?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Mar 25 2015, 17:37
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Просто сказать нечего...

А что если через куб сгенерить все и запустить? для вашей дискавери? Почему у вас все время все откуда то со стороны?

Ваш же вопрос общий, то есть надо взять дискавери и самому запустить чтобы понять что не срастается...
Go to the top of the page
 
+Quote Post
zheka
сообщение Mar 25 2015, 18:12
Сообщение #19


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Хорошо, вот вопрос для тех, у кого нет дискавери, но есть хотя бы keil.
Нашел интересны пример - шаг за шагом - для тупых http://e.pavlin.si/2014/07/10/stm32f4-disc...t-step-by-step/
Я дошел до шага 7. Во вкладке драйверы у меня нет USB. Хотя MDK Middleware и ARM CMSIS я обновлял средствами самого keil и версию указывал ту же самую, что в статье. Пишет что не хватает компонентов. А кака их скачать, если pack скачивается целиком и в каком-то урезанном объеме....
Может кто-нибудь попробовать дойти до шага 7? Не с последними версиями библиотек, а с теми, что указаны...
У меня уже 6 примеров на рабочем столе валяется и ни один по тем или иным причинам не работает.

И гугл не особо помогает. Мне нужно немного - KEIL+CDC+Discovery - готовый простой пример. Нигде нет... Есть под Eclipse полно примеров, но переделка результатов не дала - Hard fault на этапе перехода из SystemInit в main()

Далее - шаг 10, где предлагается настроить клок в RTE-Device.h. У меня все есть во вкладке, кровме клока. Это какое-то издевательство...

Сообщение отредактировал zheka - Mar 25 2015, 18:05
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Mar 25 2015, 18:52
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Cube же делает проект с USB CDC и вроде даже выкидывает исходники драйверов для кейла, так что не выходит?

а по кейлу, тут же вопросы лицензии, у меня в том кейле что есть вообще не активна Run-time Env, почему не знаю, может чего то не стоит, паков каких или еще что....
Go to the top of the page
 
+Quote Post
zheka
сообщение Mar 25 2015, 19:58
Сообщение #21


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Слазил я в CUbeMX. Он генерирует только настройки. Кода общения (прием, передача) я не увидел.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Mar 25 2015, 20:14
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



ну функции то он дает.
и прерывание настраивает.
вы галочку поставили чтобы он вам CDC USB сделал?
отмечаете что хотите USB device, а вверху в системах ставите USB CDC
Go to the top of the page
 
+Quote Post
zheka
сообщение Mar 25 2015, 20:18
Сообщение #23


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



ставил я все галочки. там main пустой. И файла проекта нет - пишет что проблемы. МОжет быть потому, что он заточен под 4.7, а у меня пятая версия.
Не хочу я сносить и ставить 4 версию ради Cube, неправильно это.

ДА и, если честно - я хочу попроще. МНе USB нужен а этот wizard, что в статье делает с использованием RTOS. Ну куда пушка по воробьям? Но попытки переделать кучу простых примеров под другие среды успеха не приносят.
Я выложил выше пару проектов, с которыми какая-то мелкая проблема. Они, работающие меня бы устроили.

Сообщение отредактировал zheka - Mar 25 2015, 20:23
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Mar 25 2015, 20:23
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



увы с 5 кейлом не помогу...

Цитата
Не видит при линковке одну переменную, хотя все везде прописано.

а переменная то не в библиотеке случаем? а не подключить ли ее в проект надо?
Go to the top of the page
 
+Quote Post
zheka
сообщение Mar 25 2015, 20:31
Сообщение #25


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Ну вот к примеру
http://www.wolinlabs.com/blog/stm32f4.virtual.com.port.html
Скажите, это вообще в keil будет работать?

Цитата
а переменная то не в библиотеке случаем? а не подключить ли ее в проект надо?

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

С правильными версиями библиотек, сделанное как в статье http://e.pavlin.si/2014/07/10/stm32f4-disc...t-step-by-step/ у меня скомпилилось, но поскольку я не нашел вкладку clock configuration, поэтому устройство не обнаруживается.

Еще раз говорю, я не прошу за меня писать проекты.
Просто ищу человека, который работал с CDC на Discovery с KEIL. Мне нужен пример, который без бубнов скомпилится, запустится, передаст байт туда и обратно. С остальным я разберусь сам.

Пост 14. Если это перестанет вылетать на этапе перехода от SystemInit к main(), я буду несказанно рад.
Go to the top of the page
 
+Quote Post
zheka
сообщение Mar 26 2015, 04:28
Сообщение #26


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Заработало....
Go to the top of the page
 
+Quote Post
zheka
сообщение Mar 26 2015, 19:08
Сообщение #27


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



А как настраивается скорость CDC?
У меня в проекте где-то настройки USART, я с ними сначала колдовал. Потом, терзаемый смутными сомнениями, вообще закомментировал инициализацию USART - работать не перестало... Значит настройка USART ни при чем.
В функции USB_OTG_BSP_Init ничего такого про скорость нет..
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Mar 26 2015, 21:10
Сообщение #28


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



скорость никак не настраивается.... Она не имеет смысла, будет работать на любой до максимальной
CDC же передает данные по USB, а оно имеет свою скорость, и ограничивает вас только максимумом и все...

настройки скорости в винде в виртуальном порте - это так, атавизм. Иногда их можно использовать на стороне приемника, чтобы если данные дальше по UART пойдут, задать скорость по выставленной, но если просто данные гонять надо, то скорость не имеет смысла
Go to the top of the page
 
+Quote Post
zheka
сообщение Mar 27 2015, 04:30
Сообщение #29


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



ОК.
Тогда проблема следующая. ЗАпустил на компе программу Terminal и ловлю посылки.
А посылки такие (имитирую передачу кадра 640х480)
Код
for (i=0;i<480;i++)
{
    for (j=0;j<10;j++)  usb_cdc_printf("....... ....... ....... ....... ....... ....... ....... ...\r\n");        
    usb_cdc_printf("END_LINE\r\n");
  }  
usb_cdc_printf("END_FRAME END_FRAME END_FRAME END_FRAME END_FRAME \r\n");
Delay(50);


Получаю явные пропуски данных.
Как для начала понять - контроллер отправляет не все или комп захлебывается?
Т
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Mar 27 2015, 05:39
Сообщение #30


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



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

А со стороны компа буферы гиганские, его трудно перегрузить ИМХО...
Go to the top of the page
 
+Quote Post

4 страниц V  < 1 2 3 4 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th August 2025 - 11:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01591 секунд с 7
ELECTRONIX ©2004-2016