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

hd44780

Свой
  • Постов

    1 236
  • Зарегистрирован

  • Посещение

Весь контент hd44780


  1. Спасибо, но я в курсе об этом :) В отладке я до обмена просто не дохожу из-за сбоев NVIC. Уже начинаю жалеть, что не поставил туда старый добрый F407 :( ... И ещё. Никак не могу никак понять, что такое нога ID, зачем оно надо? Код хоста смотрел, оно к ней вроде не обращается. У меня в схеме её нет.
  2. Вот проект под кокос. Может кто глянет, почему флэшка не определяется. Подключение ключа питания: // PA8 - Fault (overcurrent) - IN // PA10 - USB Power - OUT Что меня удивляет, что в примерах всё конфигурирование USB - 2 строки: RCC_OTGFSCLKConfig(RCC_OTGFSCLKSource_PLLVCO_Div3); RCC_AHBPeriphClockCmd(RCC_AHBPeriph_OTG_FS, ENABLE); USB пины вообще нигде не конфигурятся, хотя на F4 там есть всё - и настройка порта, и AF - полный боекомплект .... И ещё. Под отладчиком в функции void USB_OTG_BSP_EnableInterrupt(USB_OTG_CORE_HANDLE *pdev) { NVIC_InitTypeDef NVIC_InitStructure; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1); NVIC_InitStructure.NVIC_IRQChannel = OTG_FS_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init ( &NVIC_InitStructure ); } в функции NVIC_Init железно вылетает в DefaultHandler. Без отладчика нормально проходит (проверял светодиодиками). Спасибо. STM32F105_USB_Host_Coocox.rar
  3. USB хост флэшки для STM32F105

    Привет. Есть ли у кого? Желательно под кокос. Я попытался переделать в кейле ST-шный пример для платы STM3210C-EVAL, пока глухо. Ещё и с отладчиком там никак не разберусь. Хотя проц стирается и прошивается ... Ключ питания USB я проверил отдельно и вольтметром и светодиодиком - он адекватный. Спасибо.
  4. STM32F4 и PS/2 мышь

    Да в принципе всё просто. Основной баг немца -для инициации обмена с мышью надо дрыгать и DATA и CLK. Он дрыгал только DATA. А это далеко не на всех мышах пашет. Чтение неверных кодов из мыши были связаны с "самогенерацией" прерывания по CLK при его дёргании. При этом, естественно, сбивались управляющие переменные и последующий приём байта проходил неверно. Когда выключил прерывания перед ногодрыгом, бред мгновенно исчез. Проблема сейчас одна - 0xF2.
  5. STM32F4 и PS/2 мышь

    На 95% работает. Инициализация всех мышей проходит нормально, координаты считываются и прочее. Единственная проблема на текущий момент - какие-то баги с определением типа мыши. Есть команда 0xF2 - Get Id - считать типа мыши. Здесь написано, что ответ мыши - 2 байта - подтверждение 0xFA и код типа. А вот здесь утверждается, что ответ - один байт - код типа. Бардак натуральный. Не инициализируется только старая PS2 мыша. Она без колеса, т.е. Standard mouse. Команду 0xF2 она не понимает. С ней ещё не возился. Тут тоже вопрос - как она должна себя вести? Игнорировать команду вообще? Слать ошибку 0xFC? Может она и глючит на этой 0xF2. По ходу выяснил, что заявление о том, что по умолчанию в мыше включён потоковый режим - мягко говоря, неправда. На старых мышах это так. А новые мыши без явной подачи команды 0xEA - включить потоковый режим просто ни фига не шлют. Проверено.
  6. Извините, какой процессор? Всё, что я понял - это некий "Cortex-M4 with FPU".
  7. STM32F4 и PS/2 мышь

    Pull-upы в +5в не помогли :( Придётся колупаться в протоколе :) ...
  8. STM32F4 и PS/2 мышь

    Спасибо. Вечером постараюсь добавить их. Тогда отпишусь.
  9. STM32F4 и PS/2 мышь

    Прерывание одно и то же, программа одна и та же. // 0xFF - Сброс - 3 раза st = P_PS2_Mouse_Send ( PS2_MOUSE_CMD_RESET ); P_PS2_Mouse_Timeout_RX ( 50000 ); // checks PS2_MOUSE_VAR.receive_code P_PS2_Mouse_Timeout_RX ( 50000 ); P_PS2_Mouse_Timeout_RX ( 50000 ); st = P_PS2_Mouse_Send ( PS2_MOUSE_CMD_RESET ); P_PS2_Mouse_Timeout_RX ( 50000 ); P_PS2_Mouse_Timeout_RX ( 50000 ); P_PS2_Mouse_Timeout_RX ( 50000 ); st = P_PS2_Mouse_Send ( PS2_MOUSE_CMD_RESET ); P_PS2_Mouse_Timeout_RX ( 50000 ); P_PS2_Mouse_Timeout_RX ( 50000 ); P_PS2_Mouse_Timeout_RX ( 50000 ); PS2_MOUSE_VAR.receive_code - принятый из мыши байт. Первый раз там 0xFA - это правильно. 2 и 3-й - бред. Проверю, может где-то у немца какие-то флажки не сбрасываются ... Кстати, проверил его оригинальный драйвер на работающей мыше - инициализация проходит только один раз. Далее лезет тот самый 0xF8. Можно .. Когда исчерпаю другие варианты - проверю .. Придётся спаять некий "переходник" для доступа к контактам. А кстати, DATA и CLK подтягивать резюками к +5в надо? У меня сейчас не подтянуто. Идут непосредственно на процессор.
  10. STM32F4 и PS/2 мышь

    Я пытаюсь работать с мышами, которые изначально имеют PS2 разъём. А что из себя представляют те или иные переходники - пока что совершенно не волнует. 4 провода в них там или какая-то микросхема, переделывающая USB в PS2 - по идее всё равно.
  11. STM32F4 и PS/2 мышь

    Не скажите. Я пытался подключать 2 свои USB мыши к компу через переходник на PS/2 - не работают. Logitech RX250 не в счёт, она изначально с двойным интерфейсом. Так что, это, по-моему - "территория заблуждений" :) . Да даже если б и работало, подключить её к USB хосту я не могу, у меня там флэшка.
  12. STM32F4 и PS/2 мышь

    Сейчас пользуюсь драйвером немца - http://mikrocontroller.bplaced.net/word ... age_id=744 Один "странный" косяк я исправил - если мышь не понимает команду 0xF2 (идентификация мыши) он тупо вываливается с ошибкой, хотя весь дальнейший алгоритм прекрасно понимает оба типа мыши (стандартная и Intellimouse). Но обнаружилась странная вещь - на старых мышах он работает, а на большинстве новых - нет. Есть 2 мыши Logitech RX250, одна белая, 2-я чёрная. Белая работает достаточно стабильно, хоть и не без приколов, Чёрная - труп трупом. Кроме фэн-шуя в голову ничего не приходит.. Уже 3 дня читаю разные мануалы, примеры кода под авры и прочее - по фиг. Если надо, дам все ссылки и свой код. Всё чего удалось добиться - команды нормально передаются в мышь. На драйвере немца мышь вообще не генерит синхронизацию. Он вначале притягивает к земле только данные, а синхру - нет. Дальше странности - многие команды дают либо код ошибки 0xFC, либо какой-то недокументированный код - 0xF8. Даже команда сброса 0xFF корректно отрабатывает только один раз, в ответ на все остальные летит некий бред типа 0xF8. Вопрос - кто-нибудь работал с мышей, каковы результаты и есть ли у кого нормальный драйвер? Спасибо. PS. Все мыши рабочие. Проверены в компе.
  13. Встречаем: STM32Cube

    Ну по сути это оно и есть . Я в сентябре-ноябре перетаскивал один проект (написанный на SPL) с какого-то F10x на F407. Перенёс очень легко и быстро. Переделки минимальные были. Думается, что с регистрами возни было б на порядки больше. Так что, по-моему, в целом это очень неплохая вещь, несмотря на то, что многие его ругают.
  14. Встречаем: STM32Cube

    Интересно. Спасибо. Мне F4 и нужен. Остальные - до лампочки.
  15. Да. Знаю. Амперметр кажет - 46мА. А питалово проседает. Тоже факт. И кому верить? Амперметру или доке на стабилизатор ихний?
  16. На LDO ориентироваться нельзя. У меня обычная дискаверина на 407 проце, LDO на 150мА. Навешал дисплей и VS1003, в сумме 46мА. Напряжение просело с 3 до 2.5в, USB флэшка сразу же заглохла. Пришлось ставить внешний LM317.
  17. STM32F4 + W5100

    Спасибо. Скачал, посмотрю.
  18. STM32F4 + W5100

    В микросхеме 4 двунаправленных сокета. Поэтому максимум 4 клиента. У каждого сокета свои флажки типа "данные пришли" и прочее. По ним и различать. Все 4 сокета независимы. Вы можете читать/писать любой сокет. Естественно, по очереди. Каждый сокет, так сказать, однопоточный. Пока к нему кто-то подключён, другой уже не подключится. По крайней мере, на данном этапе своего развития, я так всё это понимаю.
  19. STM32F4 + W5100

    Не понял вопроса. Вот это: uint16_t wiz_read_buf ( uint16_t addr, uint8_t* buf, uint16_t len ) { uint16_t idx = 0; for ( idx=0; idx<len; idx ++ ) { buf [ idx ] = IINCHIP_READ ( addr ); addr ++; } // for return len; } // wiz_read_buf нормально забивает указанный буфер указанным кол-вом байт из W5100.
  20. STM32F4 + W5100

    Всё, заработала шарманка :) TCP, UDP клиенты и DHCP заработали. Косяк был в том, что перед посылкой любой четвёрки "атомарных" байт - 0x0F/0xF0, 2 байта адреса, байт данных (0xFF для чтения) неоходимо делать nCS:=0, а после их отправки ОБЯЗАТЕЛЬНО возвращать в 1. Я же при отправке данных (массив байт) решил немного "пооптимизировать" и опускал/поднимал nCS до и после всего цикла отправки данных. Видимо, входной буфер микросхемы использует перепад nCS 0->1 для пропихивания данных куда-то дальше в недра микросхемы, а т.к. я этого не обеспечил, он находился в некоем "ступоре" и не воспринимал все остальные данные. Теперь приступаю к главному - TCP-сервер на проце. Всем спасибо.
  21. STM32F4 + W5100

    Наверное я что-то с буферами сокетов намутил. Вычислил, что 1-й байт данных передаётся правильно, остальные - бред.
  22. STM32F4 + W5100

    uriy, W5100 был выбран человеком, которому я помогаю. Как наиболее простой способ добавить LAN в уже имеющееся у него устройство. С ENC28 я проуродовался 2 недели, но так и не смог добиться от него ни одного байта в ответ. Даже номер ревизии чипа ... Не говоря уж о каких-то более серъёзных вещах. Плюнул на неё. Я не думаю, что проблема в little/big-endian. Иначе б пакеты вообще не доходили бы ... Порченная только область данных. Может я где-то с перекачкой данных в проге намутил.. Да и если б у меня были попарно байты данных переставлены я бы это глазом в Wireshark увидел бы. Сергей Борщ, спасибо. Передам тому человеку. Вообще, пока планируется ставить это по одну сторону от роутера. TCP завёлся, коннектится нормально, проблема только в порче области данных. Вчера я тупо забыл дать микрухе команду CONNECT Может у меня где-то одни и те же грабли и в UDP и в TCP. Буду разбираться.
  23. STM32F4 + W5100

    На TCP чего-то после передачи не взводится бит завершения передачи SEND_OK в IR .... Сервер на компе ничего не ловит, Wireshark ничего не показывает.
  24. STM32F4 + W5100

    Мудохался с ним целый день. DHCP пока убрал, задал статический адрес, слал на комп UDP пакеты. Смотрю Wirashark-ом Пакеты приходят, адреса (и MAC, и IP) в них нормальные (те, что я задал), а в области данных (13 байт) бред собачий ... Кста. Нарыл тему про проблемы с UDP - http://electronix.ru/forum/index.php?showtopic=62111 Народ там ничего путного не придумал. Сокет закрываю-открываю на каждую отправку. Попробую TCP, пишут, там этих проблем нет. Лично мне UDP на фиг не нужен, но DHCP накрывается медным тазом, а без него как-то некошерно :( .
  25. STM32F4 + W5100

    Привет. Кто-то работал с этой микрухой? Я нашёл на офф сайте драйвер и пример реализации DHCP. Переписал под F4 (поправив некоторые ошибки на мой взгляд) - не работает. Не может получить IP-адрес. Роутер показывает, что он увидел какое-то устройство, но MAC совсем не тот, который я посылаю. Когда я задаю микросхеме статический IP, пинг с компа на неё проходит. Но это ж "некошерно". У кого-нибудь есть примерчик поделиться? Спасибо. PS. Сейчас буду пробовать простенький сервер набабахать хоть на статическом IP.
×
×
  • Создать...