Код у FTDI, к сожалению, получается много хуже чем устройства.
Не думаю, что наткнулся бы на этот баг, ибо об использовании их библиотек даже мысли в голову не приходили — прямая работа с D2XX или libftdi не намного сложнее, но все равно спасибо огромное.
Вышли тому, кто продемонстрирует на LCD, а то в консоли — это не спортивно.
Мой LCD сейчас на работе, а те, что доступны в «удаленной лаборатории» моего ПТУ, подключены к Stellaris Launchpad и Infineon XE167FM EasyKit, запуск Linux на которых — еще больший хардкор, а через мой драйвер дисплея это писать еще менее спортивно, чем в консоль.
Два символа: [b
И 2 совета:
1. Поставь в свою IDE плагин для проверки орфографии в комментариях и строках
2. Не оставляй комментариев на русском, пожалей наших англоязычных товарищей
Надо будет проделать с подобным LCD все то же самое, только без собственных драйверов и через USB в рамках статей про FT232H.
Получится в разы проще, но и в разы менее хардкорно.
Хабр — торт.
Кто там минусовал за Длинного за картинку с Боромиром и «нельзя просто так написать статью за 5 часов»? Стыдитесь.
Не соглашусь только, что I2C назван так за использование двух проводников. Двойка там — это на самом деле не «два», а «квадрат», а само I2C — это Inter-Integrated Circuit, но это несущественная мелочь.
В остальном — преклоняюсь. Сам разбил бы статью на десяток коротких заметок длиной в полгода, и еще не факт, что удалось бы закончить.
При работе с множеством разных (а часто очень-очень разных) МК одновременно выстроить в голове толковый эмулятор каждого у меня не получается, и без отладки в том случае было бы очень грустно. И уже было, когда мне попался доселе неизвестный Infineon XE167FM на ранее незнакомой архитектуре C166, а отладчика к нему не было. Зато был мануал на 2000 страниц и делайн до послезавтра.
Можно отлаживать и в уме, и это хорошее упражнение для начинающих при обучении работе с определенным МК с заранее известными ограничениями, багами и хитростями. Но если у тебя большой проект, сложный сам по себе, плюс на эту сложность накладываются определенные особенности МК (описанные либо на 1255 странице мануала, либо на 25 странице Errata sheet, который как раз обновили позавчера), то лучше, на мой взгляд, использовать все возможности по снижению нагрузки на мозг.
Без отладки, мне кажется, микроконтролеры можно попробовать, пару раз наткнуться на неожиданное для новичка поведение, сказать про себя «пошла она к черту, эта магия-шмагия», и больше к ним не возвращаться.
Надо тестировать, возможно, команда работает во всех режимах, но в документации это не описано (она вообще не очень, честно говоря).
Опять же, можно написать напрямую в FTDI, есть ненулевая вероятность, что помогут.
Есть еще вариант использовать другой канал специально для ловли этого прерывания, но тут уже слишком большой оверхед получается.
Согласен. Но бывает появляется вдохновение, садишься писать, пару часов пописал — выдохся, и дальше тащить тяжело, и бросить уже жалко. А тут просто победил сон. Постараюсь написать про JTAG-отладку более вдумчиво и начать не так поздно.
Странно тогда, что не Abaddon, если предположить, что порядок алфавитный.
Хотя, как вы яхту назовете, так она и поплывет, зачастую, поэтому пусть лучше будет Alchemist. :)
Согласен со всем, но для DIY-железа, на мой взгляд, скоростные характеристики не очень важны, а даташит на конкретный чип все равно потом читать придется. Но замечание резонное, спасибо.
А как именно физически реализован сигнал о прерывании? Если выставлением высокого\низкого уровня на ноге, то достаточно соединить её с любым свободным входом GPIO (ACBUS7 вполне подойдет), и периодически читать состояние этой ноги опкодом GPIOReadLB (0x81). Варианта с полной остановкой потока чтения я не знаю. В документации есть режимы Wait On I/O High/Low (опкоды 0х88 и 0х89), но их не использовал ни разу, поэтому ничего об их работе сказать не могу.
Я сел писать эту статью в 12 ночи и планировал написать обо всех опробованных мной способах применения FT232H, но написание затянулось до 2 и я сдался, оставив JTAG на следующий раз.
Много получилось в первую очередь для меня — давно не писал больших текстов на русском.
Прошу меня простить, в следующий подумаю еще разок, прежде чем садиться писать на Хабр перед сном.
Не думаю, что наткнулся бы на этот баг, ибо об использовании их библиотек даже мысли в голову не приходили — прямая работа с D2XX или libftdi не намного сложнее, но все равно спасибо огромное.
Мой LCD сейчас на работе, а те, что доступны в «удаленной лаборатории» моего ПТУ, подключены к Stellaris Launchpad и Infineon XE167FM EasyKit, запуск Linux на которых — еще больший хардкор, а через мой драйвер дисплея это писать еще менее спортивно, чем в консоль.
И 2 совета:
1. Поставь в свою IDE плагин для проверки орфографии в комментариях и строках
2. Не оставляй комментариев на русском, пожалей наших англоязычных товарищей
Получится в разы проще, но и в разы менее хардкорно.
Кто там минусовал за Длинного за картинку с Боромиром и «нельзя просто так написать статью за 5 часов»? Стыдитесь.
Не соглашусь только, что I2C назван так за использование двух проводников. Двойка там — это на самом деле не «два», а «квадрат», а само I2C — это Inter-Integrated Circuit, но это несущественная мелочь.
В остальном — преклоняюсь. Сам разбил бы статью на десяток коротких заметок длиной в полгода, и еще не факт, что удалось бы закончить.
Можно отлаживать и в уме, и это хорошее упражнение для начинающих при обучении работе с определенным МК с заранее известными ограничениями, багами и хитростями. Но если у тебя большой проект, сложный сам по себе, плюс на эту сложность накладываются определенные особенности МК (описанные либо на 1255 странице мануала, либо на 25 странице Errata sheet, который как раз обновили позавчера), то лучше, на мой взгляд, использовать все возможности по снижению нагрузки на мозг.
Без отладки, мне кажется, микроконтролеры можно попробовать, пару раз наткнуться на неожиданное для новичка поведение, сказать про себя «пошла она к черту, эта магия-шмагия», и больше к ним не возвращаться.
Опять же, можно написать напрямую в FTDI, есть ненулевая вероятность, что помогут.
Есть еще вариант использовать другой канал специально для ловли этого прерывания, но тут уже слишком большой оверхед получается.
Хотя, как вы яхту назовете, так она и поплывет, зачастую, поэтому пусть лучше будет Alchemist. :)
Много получилось в первую очередь для меня — давно не писал больших текстов на русском.
Прошу меня простить, в следующий подумаю еще разок, прежде чем садиться писать на Хабр перед сном.