Если программатор CH341A определяется в системе только как последовательный порт, а работа по I2C недоступна, причина почти всегда в установленном драйвере: стандартный драйвер CH341SER поддерживает лишь режим USB-UART, а для шины I2C и SPI требуется параллельный драйвер CH341PAR. Это самая частая ошибка при первом подключении устройства.
В этой статье разберём, какие драйверы существуют для чипа CH341A, как правильно установить их в Windows и Linux, как проверить работу интерфейса I2C и что делать, если устройство не определяется или шина не отвечает.
Какие драйверы существуют для CH341A
Микросхема CH341A от компании WCH — универсальный USB-мост, который умеет работать в нескольких режимах. Режим задаётся аппаратно (конфигурацией чипа и перемычками на плате программатора) и программно — через соответствующий драйвер.
- 🔌 CH341SER — драйвер виртуального COM-порта (USB-UART). Устанавливается чаще всего по умолчанию.
- 🔧 CH341PAR — драйвер параллельного/EPP-режима, через который работают программы, использующие I2C и SPI.
- 🐧 ch341 (Linux) — модуль ядра Linux, входящий в состав большинства современных дистрибутивов.
- 📦 Библиотека CH341DLL — динамическая библиотека от WCH, которую используют программы вроде AsProgrammer или NeoProgrammer для прямого доступа к чипу.
Ключевой момент: большинство популярных программ для прошивки EEPROM и SPI Flash обращаются к CH341A не через системный драйвер, а напрямую через библиотеку CH341DLL.DLL. Поэтому даже при «неправильном» драйвере в диспетчере устройств такие программы могут работать — и наоборот, корректный драйвер не гарантирует работу софта, рассчитанного на другую связку.
💡Для I2C на CH341A нужен драйвер CH341PAR или прямой доступ через CH341DLL — стандартный CH341SER даёт только COM-порт.