Перейти к содержанию

prottoss

Свой
  • Публикаций

    2 720
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о prottoss

  • Звание
    Гуру

Контакты

  • Сайт
    http://
  • ICQ
    196737490
  1. Цитата(Dikoy @ Apr 4 2018, 17:57) А есть для авр ассемблера что-то для быстрого подсчёта тактов? Например, от сих и до сих. А то на бумажке считать несколько уныло... симулятор AVRStudio Цитата(zombi @ Apr 4 2018, 20:15) Думаю должна быть возможность загрузить в студию прошивку. Установить PC на нужный адрес "от сих" точку останова на "до сих" запустить эмуляцию и смотреть сколько тактов потребовалось. Проще прям набить на ассемблере исследуемый код и замерить выполнение
  2. web на stm32

    Цитата(bzx @ Jan 13 2018, 17:14) 2144 Я, честно скажу, не смотрел лог - не знаю чем открыть. Почему нельзя сделать размер окна максимальным? Возможно носитель данных тупит?
  3. web на stm32

    Цитата(bzx @ Jan 13 2018, 17:00) Увеличение window size поможет?А сейчас какой максимальный?
  4. Цитата(0men @ Dec 11 2017, 21:42) USB_OTG_GOTGINT_SEDET как раз и работает с VBUS Bit 2 SEDET: Session end detected The core sets this bit to indicate that the level of the voltage on VBUS is no longer valid for a B-Peripheral session when VBUS < 0.8 V Совершенно верно. Я об этом и говорил много постов в этом топике.
  5. Цитата(0men @ Dec 11 2017, 21:23) там, видимо, как то иначе, не работал с первой сериейВ первой серии даже встроенного pull-up нет. Но, тем не менее, повторюсь не в первый раз - для точного и быстрого определения отключения шнурка - VBUS.
  6. Цитата(0men @ Dec 11 2017, 20:43) у него все уже подпаяно, если внимательно почитать. куб определяет при вхождении в прерывание OTG_FS_IRQHandler через флаг USB_OTG_GOTGINT_SEDET Да. Но VBUS должен быть подключен, иначе Вы постоянно будете висеть в этом прерывании. И как решить вопрос с МК, у которых нет OTG? Например STM32F103? ...Хотя ТС озвучил F4xx серию, тем не менее, пускай вопрос будет риторический.
  7. Цитата(0men @ Dec 11 2017, 17:08) if (hUsbDevice_0 == 0) то шнурок отключен Никогда не использовал КУБ - пользуюсь самописным софтом. Вот мне интересно, как Вы думаете, или может быть точно знаете - каким образом данная библиотека отслеживает выдергивание шнурка. Как говорил раньше - у STM32 c OTG есть средства - есть регистры и биты, по которым можно отследить состояние VBUS (если линия подключена). У МК с USB-device вообще таких средств мониторинга нет. Как там КУБ определит? Возможно, что как предложил jcxz по SOF, но я сомневаюсь, что в КУБ-е это реализовано. Цитата(jcxz @ Dec 11 2017, 19:51) Вот тогда только SOF и спасал.Повторюсь - идея отличная. Обязательно напишу код для своей библиотеки.
  8. Цитата(jcxz @ Dec 11 2017, 19:40) Не обязательно. Я уже писал. VBUS элементарно может быть не подключен, при этом USB вполне себе нормально будет работать. В этом случае нужно использовать SOF. да, конечно, через SOF - это отличная идея. Но требует определенных программных затрат. Нужны таймауты. Если у ТС устройство в разработке, я бы рекомендовал выделить линию порта МК под мониторинг VBUS. Я делаю именно так.
  9. Цитата(esaulenka @ Dec 11 2017, 14:01) Подскажите, установка конфигурации 0 - это закрытие виртуального порта, или отсоединение устройства?SET CONFIGURATION = 0, это значит устройство не сконфигурировано - доступ к нему не разрешен операционной системой - читай - ошибка где то. Цитата(Сергей Борщ @ Dec 9 2017, 23:29) Какой смысл что-то слать...Вопрос был о том, чтобы программно определить отключение шнурка устройства от порта.
  10. Цитата(Alex_Golubev @ Dec 10 2017, 19:22) prottoss все работает я конечно еще протестирую, но сегодня у меня все работало. Я хочу еще спросить а как правильно программно делать disconnect от usb в режиме cdc? Да вроде ни каких примудростей нет: 1. Запретить прерывания от USB-модуля в МК. 2. Отключить pull-up резистор от шины.
  11. Цитата(Alex_Golubev @ Dec 10 2017, 12:24) Вот я также думаю, но можно подстраховаться Vbus еще. В Cube есть: /* Device Status */ #define USBD_STATE_DEFAULT 1 #define USBD_STATE_ADDRESSED 2 #define USBD_STATE_CONFIGURED 3 #define USBD_STATE_SUSPENDED 4 Написал вот так: if( (hUsbDeviceHS.dev_state==USBD_STATE_CONFIGURED) ){ CDC_Transmit_HS(p ,strlen (text)); } Устройство будет сконфигурировано хостом, и тут, бац, выдернули шнур. Устройтство осталось сконфигурировано, потому как от хоста не получало пакета SET_CONFIGURATION = 0. Что дальше? Выдернуть могут на любом состоянии. Но узаете о том, что не подключены только через VBUS. В STM32F4 есть регистры/биты, которые могут сигнализировать об отключении (некогда копаться в даташите чтобы указать точно). Но, естественно сама линия VBUS должна быть заведена в МК.
  12. Цитата(jcxz @ Dec 9 2017, 22:02) Но правильнее всё-таки - VBUS.Это выгоднее с точки зрения экономии ресурсов. Повесить прерывание...
  13. Цитата(Alex_Golubev @ Dec 9 2017, 20:40) Что вы думаете о такой конструкции ? Ничего не думаю. Чисто по протоколу, по моему, не возможно отследить отключение устройства. То что встроено в STM32 (USB или OTG) основано на мониторинге VBUS. Ну и, на мой взгляд, это самый надежный вариант.
  14. Цитата(Alex_Golubev @ Dec 9 2017, 20:22) Нет сделан CDC device (виртуальный COM порт). Надо понять отключен device от Host (ПК) или нет. Мониторить VBUS?
  15. Вопрос по IAR asm

    Цитата(kuber @ Dec 8 2017, 19:10) У меня нет проблем с ассемблером под все мною освоенные микроконтроллеры. А нюансы, рано или поздно найду решение. Си много раз пытался освоить, не моё.Я думаю, что у всех, кто Вам в этом топике что то советовал, нет проблем с ассемблером под разные платформы, но у всех этих людей так же нет проблем с Си, так как Си, в принципе, поддерживает любые платформы.