Страница 1 из 2

Программатор CH341T как I2C адаптер

Добавлено: Чт сен 30, 2021 16:30:44
alex_armV
Добрый день!

Подскажите пожалуйста, есть ли у кого опыт, может кто-то подружил PC и программатор на CH341T для работы по I2C?
У меня цель, задача, желание: общение с PCF8574 напрямую с ПК на винде.
В языках там всяких, программерских шарю, так что не стесняйтесь, если это необходимо, закидывать кусками вашего, прекраснейшего, шедеврального кода) (не сарказм) :beer:

Драйвер стоит от производителя, есть так же от него либа CH341DLL.dll, но я не могу понять, программатор этот как вообще устроен?
Он общается с i2c устройством напрямую или только через буфер, ибо не получилось у меня общение к устройством подключенным к данному программеру, всегда один и тот же ответ при попытке засыла или чтения пакета... ФиХня какая-то.

Прошу, помогите! Люди бодрые! Не бросьте меня в беде! :)))

Re: Программатор CH341T как I2C адаптер

Добавлено: Чт сен 30, 2021 17:46:24
musor
наскока помню этот недопрограматор он апаратно общаеттся и со SPI и I2C чипами серий 24 25 93.... насчет адаптера для шин произволного чипа гдето видел месаге об успешных применениях например для прошивки чипоф контролероа скалера в мониторах но софт там не прилагался...

Re: Программатор CH341T как I2C адаптер

Добавлено: Чт сен 30, 2021 17:59:42
otest
всегда один и тот же ответ при попытке засыла или чтения пакета... ФиХня какая-то.
Прямо так и пишет ФиХня какая-то ?
У нас в деревне ФиХня какая-то корову съела.

Re: Программатор CH341T как I2C адаптер

Добавлено: Пт окт 01, 2021 09:19:49
alex_armV
[uquote="musor",url="/forum/viewtopic.php?p=4098936#p4098936"]наскока помню этот недопрограматор он апаратно общаеттся и со SPI и I2C чипами серий 24 25 93.... насчет адаптера для шин произволного чипа гдето видел месаге об успешных применениях например для прошивки чипоф контролероа скалера в мониторах но софт там не прилагался...[/uquote]

Другими словами, есть возможность. Хотелось бы конечно примерчики раздобыть...
Но спасибо и на этом.

Re: Программатор CH341T как I2C адаптер

Добавлено: Пт окт 01, 2021 10:27:33
BOB51
Самый простой способ - взять ардуино-нанку и работать через нее с чем душа пожелает.
:wink:

Re: Программатор CH341T как I2C адаптер

Добавлено: Пт окт 01, 2021 11:26:53
alex_armV
[uquote="BOB51",url="/forum/viewtopic.php?p=4099239#p4099239"]Самый простой способ - взять ардуино-нанку и работать через нее с чем душа пожелает.
:wink:[/uquote]

Так то да, но душа просит прямого контакта!
Хотя по сути, разницы кроме, порога com порта, нет ни какой.
Спасибо за совет.

Re: Программатор CH341T как I2C адаптер

Добавлено: Пт окт 01, 2021 12:03:29
BOB51
Зато там свобода собственных самоделок - что в нанку встроим, то и получим (и соответствующую прожку под ПК, ежли навыки имеются).
8)

Re: Программатор CH341T как I2C адаптер

Добавлено: Пт окт 01, 2021 12:34:08
oleg110592
может пригодится.
Есть софт для CH341 см. тут:
https://4pda.to/forum/index.php?s=&show ... p=96411343
там теперь паскаль скрипты можно использовать типа:
Спойлер

Код: Выделить всё

{$read}
//reading 24c08
begin
  ChipSize := 1024;
  MemAddr := 0;
  ReadBuff := CreateByteArray(ChipSize);
  DevAddr := $A0;

  I2CEnterProgMode;

  I2CReadWrite(DevAddr, 1, ChipSize, MemAddr, ReadBuff);
  ReadToEditor(ChipSize, 0, ReadBuff);

  I2CExitProgMode;
end

{$write}
function I2CIsBusy(DevAdr): boolean;
begin
  I2CStart;
  Result := not I2CWriteByte(DevAdr);
  I2CStop;
end;
//writing 24c08
begin
  ChipSize := 1024;
  MemAddr := 0;
  WriteByte := 0;
  DevAddr := $A0;
  ProgressBar(0, _IC_SIZE-1, 0);

  I2CEnterProgMode;

  for i:=0 to ChipSize-1 do
  begin
    WriteFromEditor(1, i, WriteByte);
    I2CReadWrite(DevAddr, 2, 0, MemAddr, WriteByte);
    while I2CIsBusy(DevAddr) do;;
    MemAddr := MemAddr + 1;
    if MemAddr = 256 then DevAddr := $A2;
    if MemAddr = 512 then DevAddr := $A4;
    if MemAddr = 768 then DevAddr := $A6;
    ProgressBar(1);
  end;

  I2CExitProgMode;
  ProgressBar(0, 0, 0);
end
есть исходники самого программатора, в том числе есть для ардуино
з.ы. там внутри в схеме адаптера резисторы (подтяжки) нужны на и2ц

Re: Программатор CH341T как I2C адаптер

Добавлено: Пт окт 01, 2021 12:42:49
Dismas
[uquote="alex_armV",url="/forum/viewtopic.php?p=4098908#p4098908"]...для работы по I2C?...[/uquote]
Была вот такая штука PICKIT SERIAL ANALYZER для разных протоколов.
смотреть тут https://www.microchip.com/en-us/develop ... l/DV164122
Там и оболочка своя имеется, и SDK.
Когда то делал сам по референсам. Где то валяется схема и гербер.
Плату делал под имеющийся корпус, схема идентична заводской, детали из имевшихся. :)

Re: Программатор CH341T как I2C адаптер

Добавлено: Вс окт 30, 2022 15:36:15
Николай0013
Здравствуйте. Занимался программированием микроконтроллеров(не профессионально, как хобби) собрал пару работающих устройств. Писал код в AVR Studio на С++ в основном на функциях. Попался мне конвертер интерфейсов на чипе CH341A. Китайцы предлагают библиотеку DLL для работы с ним. В интернете есть Демо программы для программирования микросхем памяти 25 и 24 серии. Мне хочется создать программу для работы с датчиками и периферией имеющих I2C и SPI интерфейсы. Подскажите с чего начать.

Re: Программатор CH341T как I2C адаптер

Добавлено: Вс окт 30, 2022 19:59:05
Ser60
Может пригодится моя старая статья...

Re: Программатор CH341T как I2C адаптер

Добавлено: Вс окт 30, 2022 21:26:46
tanveerriaz

Re: Программатор CH341T как I2C адаптер

Добавлено: Сб ноя 05, 2022 09:21:09
74LS00
CH341 это UART. В программаторе работает как ногодрыг.
Какая скорость не знаю и кто это придумал. Может медленный как все подобные, а может как раз оптимизирован под эту функцию.
Поэтому надо учитывать задержку.

На сколько помню выходы у подобных микросхем всегда инверсные.
Кроме FT232 где их можно инвертировать в конфигурации. (Но это дорогая и редкая часто подделываемая фиговина с которой лучше не связываться, санкции). Под неё тоже есть своя библиотека.

В новых ардуинах стоит мелкая мега с usb интерфейсом и там можно зашить что угодно.
В общем нужен микроконтролер, а не то что не предназначено

Re: Программатор CH341T как I2C адаптер

Добавлено: Сб ноя 05, 2022 09:49:21
electroget
alex_armV,
Существует конвертер usb to i2c https://www.antratek.nl/usb-to-i2c-module
Ищите такой или аналогичный на Алиэкспрессе https://aliexpress.ru/item/32838962170. ... 5113489739

Re: Программатор CH341T как I2C адаптер

Добавлено: Сб ноя 05, 2022 09:57:32
azhel12
А посоветуйте популярный софт для ПК, чтобы с i2c-устройствами работать (или просто через putty принято голые байты слать?). В качестве домашнего задания и рекламы своей библиотеки попробую сделать для f103c8 программку.

Re: Программатор CH341T как I2C адаптер

Добавлено: Сб ноя 05, 2022 10:28:56
electroget
[uquote="azhel12",url="/forum/viewtopic.php?p=4315162#p4315162"]посоветуйте популярный софт для ПК, чтобы с i2c-устройствами работать[/uquote]
Ардуино ИДЕ подойдёт?

Re: Программатор CH341T как I2C адаптер

Добавлено: Сб ноя 05, 2022 17:02:16
azhel12
Proof of concept, в принципе, достаточно быстро получилось накидать, чтобы с драйвером не возиться, оказалось проще эмулировать COM-порт. Набросал простенькую программку, с DS1307 получилось прочитать. Итого на c8t6 прошивка заняла 4Кб, так что можно и попроще что-то взять.

Насколько такая штука может быть полезной? Звучит как долгосрок для студента, отладить всё это дело и сделать библиотеку С++/C#.
СпойлерИзображение

Re: Программатор CH341T как I2C адаптер

Добавлено: Пт май 03, 2024 10:14:42
Vladex
вот здесь терминалка под i2c spi с исходниками http://tomeko.net/software/CH341A_tool/ ... hp?lang=en

Re: Программатор CH341T как I2C адаптер

Добавлено: Вт авг 06, 2024 13:17:57
pavelz
Всем мяу!

Есть нестандартная штуковина, хотел с ней пообщаться по I2C, с помощью CH341A и софтины этой. Вот только адрес у неё больше чем 7 бит. Исходники то есть, но они на чём-то древнем написаны. Может кто поможет конвертировать проект во что-то более современное?

Re: Программатор CH341T как I2C адаптер

Добавлено: Чт фев 06, 2025 16:35:10
Serjone
[uquote="pavelz",url="/forum/viewtopic.php?p=4611585#p4611585"]Есть нестандартная штуковина, хотел с ней пообщаться по I2C, с помощью CH341A и софтины этой. Вот только адрес у неё больше чем 7 бит. Исходники то есть, но они на чём-то древнем написаны. Может кто поможет конвертировать проект во что-то более современное?[/uquote]
Как это больше 7 бит? I2C больше не поддерживает. Пробовал сканером искать доступные адреса на шине?