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

 
 
> Не приходят запросы на МК при инициализации usb для str912FW44
kray
сообщение Jan 19 2017, 07:15
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 37
Регистрация: 14-08-12
Пользователь №: 73 115



Взял пример usb драйвера для str9 virtual com port чтобы на основе него сделать свой драйвер для STR912FAW44.
Немного допилив его удалось сделать так, чтобы usb определялся как неизвестное устройство (раньше и этого не было).
Однако дальше процесс не идет (прикрепил скриншот программного анализатора на ПК).
Т.е. нет запросов GET_STATUS (0x00), GET_DESCRIPTOR (0x06) и т.д.

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

CODE
//1) Инициализация периферии и тактового генератора
SCU_MCLKSourceConfig(SCU_MCLK_OSC);

SCU_AHBPeriphClockConfig(__VIC, ENABLE);
SCU_AHBPeriphReset(__VIC, DISABLE);

/*USB clock = MCLK= 48MHz*/
SCU_USBCLKConfig(SCU_USBCLK_MCLK2);
SCU_AHBPeriphClockConfig(__USB48M, ENABLE);

/*Enable USB clock*/
SCU_AHBPeriphClockConfig(__USB, ENABLE);
SCU_AHBPeriphReset(__USB, DISABLE);

//2) Настраиваем ножку port2 pin7 (USBCLK) на выход:
SCU->GPIOOUT[0x02] = 0x4000;

// 3) Настройка прерывания по умолчанию:
VIC_DeInit();
VIC_InitDefaultVectors();

//4) Настройка прерывания для usb:
void USB_Interrupts_Config(void)
{
VIC_Config(USBLP_ITLine, VIC_IRQ, 3);
VIC_ITCmd(USBLP_ITLine, ENABLE);
}

Обработчик прерывания USB_Istr() в файле usb_istr.c срабатывает, чтобы запустился код на обработку
запросов должна сработать вот эта вот ветка:

Код
#if (IMR_MSK & ISTR_CTR)
  if (wIstr & ISTR_CTR & wInterrupt_Mask)
  {
    /* servicing of the endpoint correct transfer interrupt */
    /* clear of the CTR flag into the sub */
    CTR_LP();

Т.е. бит CTR в регистре USB_ISTR говорящей об успешности транзакции должен сработать. Однако этого почему-то не происходит.
(Приложил к сообщению свой проект,
проект делал в keil находиться по пути "um0290\str91x demos\Virtual Com Port\project\RVMDK"
).

Подскажите пожалуйста в чем может быть проблема ? Как правильно произвести инициализацию ?

Сообщение отредактировал IgorKossak - Jan 19 2017, 09:25
Причина редактирования: [codebox] для длинного кода. [code]-для короткого!!!

Эскизы прикрепленных изображений
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  myProjectSTR912FW44.zip ( 3.16 мегабайт ) Кол-во скачиваний: 4
 
Go to the top of the page
 
+Quote Post



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

 


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


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