logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

CH341 à la Bus Pirate - tani i umiarkowanie przydatny

ostrytomasz 09 Kwi 2025 21:54 8322 17

TL;DR

  • Zbiór testowych narzędzi opartych na CH341 działa jak umiarkowanie przydatny odpowiednik Bus Pirate do eksperymentów z elektroniką.
  • Aplikacja używa CH341 jako interfejsu fizycznego i łączy moduły do I2C, SPI, smart battery, czujników, wyświetlaczy, RTC, DAC, ADC oraz MDIO.
  • Wersja 1.04 obejmuje m.in. wykrywanie I2C, odczyt i zapis surowych danych I2C/SPI oraz obsługę układów BME280, SSD1306, Si5351A, ADS1115 i LAN8742.
  • Program działa na Windows x86 lub x64, wymaga sterownika CH341PAR, nie uruchamia się pod Windows ARM ani w Wine.
  • Ograniczenia CH341, zwłaszcza wolne SPI i nieregularny UART przy wyższych prędkościach, wykluczają 1-wire i WS2812, a część układów obsługuje tylko podstawowe funkcje.
Wygenerowane przez model językowy.
REKLAMA
📢 Słuchaj (AI):
  • Zrzut ekranu aplikacji CH341 z wyświetlonymi opcjami pomiaru

    Chciałbym przedstawić aplikację będącą zbiorem testowych narzędzi używających CH341 jako interfejsu fizycznego.

    Pierwotnym przeznaczeniem tej aplikacji miała być naprawa baterii laptopowych.
    Musiałem jednak wcześniej zapoznać się z układem CH341, zacząłem od bardziej elementarnych funkcji jak obsługa I2C a aplikacja przybrała formę zbioru luźno powiązanych modułów.
    Programowanie smart battery okazało bardziej skomplikowane niż się spodziewałem i biorąc pod uwagę że mam takich baterii tylko kilka, poprzestałem na razie na odczycie ich parametrów.
    Zrzut ekranu aplikacji CH341A Tool pokazujący informacje o inteligentnej baterii.

    Powstało z tego jednak narzędzia o szerszym zakresie funkcji, przypominające Bus Pirate.

    Obecnie (wersja 1.04) funcjonalność obejmuje:
    - wykrywanie urządzeń I2C
    - zapis/odczyt surowych danych z użyciem I2C, SPI
    - odczyt stanu smart battery
    - obsługę czujników: BME280/BMP280, Si7021, BMP180, SHT11, LM75, AHT10/AHT20, AS5600, APDS-9960, L3G4200D, BMI160, MPU6050, VL53L0X
    - obsługę wyświetlaczy: HD44780 bezpośrednio i poprzez PCF8574, SSD1306, MAX7219 8x8 LED, CH455 LED z dekodera DVB-T
    - obsługę generatora Si5351A
    - obsługę tunera FM RDA5807M
    - obsługę RTC DS1302 i DS1307
    - obsługę DAC MCP4725 i ADC ADS1115
    - odczyt/zapis rejestrów ETH PHY poprzez interfejs MDIO (Clause 22 + MMD)
    - obsługę funkcji pomiaru długości kabla Ethernet przy pomocy LAN8742 (TDR + CBLN)

    Kilka zrzutów ekranu i zdjęć:

    Zrzut ekranu aplikacji CH341 tool z interfejsem do zarządzania urządzeniami I2C.
    Moduł CH341 z wyświetlaczem OLED pokazujący tekst.
    Matryca LED 8x8 kontrolowana przez MAX7219 z aplikacją na ekranie
    Interfejs aplikacji testowej z układem CH341 obsługującej czujnik AS5600/AS5600L
    Zrzut ekranu aplikacji CH341 tool z interfejsem użytkownika.

    O sterowniku LED i klawiatury CH455 dowiedziałem się z tematu https://www.elektroda.pl/rtvforum/topic4066595.html, ale u mnie "dawcą" była WIWA HD-102 (spalony zasilacz jeszcze przed przejściem na DVB-T2) w której wyświetlacz ze sterownikiem umieszczony jest na osobnej płytce połączonej taśmą.
    Czarny dekoder WIWA HD-102 z przyciskiem zasilania i przyciskami kanałów na przednim panelu.
    Zbliżenie na płytkę drukowaną kontrolera z taśmą przewodową.
    Moduł wyświetlacza LED z przyciskami i komponentami elektronicznymi.
    Zbliżenie na płytkę drukowaną z układem scalonym i ścieżkami.
    Zbliżenie na płytkę obwodu drukowanego z podłączonymi przewodami.
    Ciekawostka: wyraźnie "wypalone" segmenty wyświetlacza na których wyświetlane było "C" jak "CHANNEL":
    Wyświetlacz LED z segmentami i interfejs aplikacji z ustawieniami segmentów.

    Jest to już większość elektronicznej drobnicy jaką posiadam i którą da się obsłużyć.
    Pominąłem typowe użycie CH341A jako programatora pamięci szeregowych, ponieważ jest już spory wybór obsługującego to oprogramowania.
    Według mojego obecnego stanu wiedzy, ograniczenia i niedoróbki (ograniczona szybkość SPI, nieregularność przebiegu na wyjściu UART dla wyższych szybkości) CH341 nie pozwolą na zaimplementowanie 1-wire albo protokołu WS2812.
    Obsługa danego układu najczęściej ogranicza się do podstawowych lub wybranych funkcji, umożliwiając przetestowanie ale niekoniecznie dając dostęp do wszystkich możliwości.
    Spora część kodu źródłowego pochodzi z innych projektów otwartoźródłowych, ale trzymam się licencji które nie wprowadzałyby problemów przy komercyjnym użyciu.

    Trochę dłuższy opis: https://tomeko.net/software/CH341A_tool/.
    W załącznikach: kod źródłowy (Turbo C++ 2006, jedna z antycznych wersji C++ Builder) oraz plik wykonywalny.
    Aplikacja działa tylko pod kontrolą Windows x86 lub x64, nie działa z Windows ARM ani z Wine.
    Wymagane jest zainstalowanie sterownika "CH341PAR" (jeżeli CH341 był używany jako programator, to ten sterownik jest już prawdopodobnie zainstalowany), aplikacja nie uruchomi się bez niego.
    Załączniki:
    • CH341A_tool_1_4_0_bin.zip (543.51 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • CH341A_tool_1_4_0_src.zip (687.54 KB) Musisz być zalogowany, aby pobrać ten załącznik.

    Fajne? Ranking DIY
    O autorze
    ostrytomasz
    Poziom 25  
    Offline 
    ostrytomasz napisał 494 postów o ocenie 218, pomógł 82 razy. Jest z nami od 2004 roku.
  • REKLAMA
  • #2 21514734
    RomanWorkshop
    Poziom 14  
    Posty: 218
    Pomógł: 2
    Ocena: 416
    Prosty, mały, wielozadaniowy i uniwersalny programik - właśnie takie narzędzia okazują się najbardziej przydatne. Mam propozycje zmian/usprawnień:

    1. Skaner mógłby skanować cały zakres adresowy urządzeń na magistrali I2C ($00-$7F) i wynik prezentować w postaci graficznej - wykryte urządzenie oznaczane danym symbolem, umieszczonym w odpowiednim wierszu 0-7 i kolumnie 0-F. Taki sposób prezentacji jest przejrzysty i pozwala szybko ustalić adresy wykrytych urządzeń. Sam użyłem go w moim skanerze (Link).

    2. Można by dodać do programu opcję identyfikacji typu sterownika wyświetlacza OLED (SSD1306/SH1106/SH1107), na podstawie odczytanej wartości identyfikacyjnej z jego rejestru stanu (status register, adres $00). Taki sposób detekcji wykorzystuje biblioteka "ss_oled 4.3.1" dla Arduino (Link). Pierwszy odczyt rejestru stanu może nie być udany (np. tak jest w przypadku kontrolera SH1106), ale drugi odczyt zawsze zwraca prawidłową wartość.
    Dokumentacja sterownika SSD1306 nie zawiera opisu zwracanej wartości identyfikacyjnej (wszystkie bity "Reserved"), a ponadto informuje, że odczyt tego rejestru nie jest możliwy przez interfejs szeregowy (I2C). Mimo to da się go odczytać wraz z nieudokumentowaną wartością identyfikacyjną, na podstawie której można określić typ sterownika wyświetlacza. Zwracane wartości to (młodsze 6-bitów): $03/$06 = SSD1306, $07/$0F = SH1107, $08 = SH1106. Dodatkowo niektóre nowe moduły wyświetlaczy OLED 128x32/128x64, które aktualnie posiadam zwracają wartości: $02/$04 - według moich informacji i praktycznych doświadczeń, oznaczają one sterownik SSD1315 całkowicie kompatybilny z SSD1306. Jestem też ciekawy, jaką wartość zwraca wyświetlacz ze sterownikiem SSD1309 - sprawdzę to, jak tylko zdobędę taki model.
    Pomogłem? Kup mi kawę.
  • REKLAMA
  • #3 21514795
    ostrytomasz
    Poziom 25  
    Posty: 494
    Pomógł: 82
    Ocena: 218
    RomanWorkshop napisał:
    1. Skaner mógłby skanować cały zakres adresowy urządzeń na magistrali I2C ($00-$7F) i wynik prezentować w postaci graficznej - wykryte urządzenie oznaczane danym symbolem, umieszczonym w odpowiednim wierszu 0-7 i kolumnie 0-F. Taki sposób prezentacji jest przejrzysty i pozwala szybko ustalić adresy wykrytych urządzeń. Sam użyłem go w moim skanerze (Link).


    Rzeczywiście bardzo fajnie to się komponuje na małym wyświetlaczu graficznym (i podobnie prezentuje to linuksowy i2cdetect), uważam jednak że forma tekstowa jest w tym przypadku bardziej praktyczna. Jak teraz na to patrzę, to można byłoby dla wygody dołożyć jeszcze wartość w postaci binarnej, bo czasem tylko taka jest w dokumentacji (akurat mam przed oczami pdf od MAX11601) a sam nieraz się rąbnąłem przez pomieszanie 7- i 8-bitowych konwencji.

    Zrzut ekranu z programu CH341A tool pokazujący interfejs do wykrywania urządzeń I2C.

    Myślałem kiedyś o próbie detekcji typu układu na podstawie adresu (lub zbioru adresów), ale skuteczność a przede wszystkim celowość tego wydaje mi się na razie dyskusyjna.
  • #4 21514879
    RomanWorkshop
    Poziom 14  
    Posty: 218
    Pomógł: 2
    Ocena: 416
    ostrytomasz napisał:
    Rzeczywiście bardzo fajnie to się komponuje na małym wyświetlaczu graficznym (i podobnie prezentuje to linuksowy i2cdetect), uważam jednak że forma tekstowa jest w tym przypadku bardziej praktyczna.

    Zawsze można dodać przełącznik sposobu prezentacji wykrytych urządzeń, bo oba mogą być przydatne w praktyce.

    ostrytomasz napisał:
    Myślałem kiedyś o próbie detekcji typu układu na podstawie adresu (lub zbioru adresów), ale skuteczność a przede wszystkim celowość tego wydaje mi się na razie dyskusyjna.

    Wykrycie konkretnego układu tylko na podstawie jego adresu nie jest możliwe, bo wiele z nich wykorzystuje te same adresy. Autor biblioteki Bit Bang I2C rozpoznaje konkretne urządzenie na podstawie adresu oraz wartości, odczytanych z jego specyficznych rejestrów. Taka detekcja ma jakiś sens, ale tylko dla najpopularniejszych układów/czujników. Swoją drogą zacząłem robić prostą bazę danych adresów układów/urządzeń I2C - jestem gdzieś w połowie aktualnej oferty jednej z firm produkujących układy scalone i mam już ponad 300 układów. Ciekawe ile układów z interfejsem I2C zostało do tej pory wyprodukowanych na świecie? Pewnie będzie z kilka tysięcy, czyli jeszcze trochę mi zejdzie ;)
    Pomogłem? Kup mi kawę.
  • #5 21515097
    mrtip
    Poziom 14  
    Posty: 124
    Pomógł: 1
    Ocena: 202
    >>21514879
    Liczba unikalnych modeli układów scalonych z interfejsem I²C, czyli ile różnych układów (EEPROMów, czujników, zegarów RTC itd.) powstało z obsługą I²C.

    📌 Jak to oszacować?

    1. I²C to bardzo popularny interfejs – od lat 80. aż do dziś.
    Układy z I²C robiły i robią firmy takie jak:
    - NXP, ST, Microchip, Texas Instruments, Analog Devices, Maxim, Infineon, OnSemi, Renesas i setki mniejszych.
    - Chińscy producenci dołożyli w ostatniej dekadzie ogromną liczbę tanich modeli: CJMCU, GY-serie, DFRobot, Waveshare itd.

    2. Typy układów z I²C:
    - EEPROM (np. 24C02, 24C256)
    - RTC (DS1307, PCF8563)
    - ADC/DAC (np. PCF8591, MCP3424)
    - Czujniki (BMP280, BME680, TSL2561, MPU6050, SHT21, VL53L0X…)
    - Ekspandery GPIO (MCP23017, PCF8574)
    - Przetworniki audio, mikrokontrolery z I²C slave, LED driver’y (np. PCA9685), kontrolery baterii, czujniki medyczne i motoryzacyjne itd.

    📈 Szacunek:
    Jeśli założymy:
    - 40+ lat rozwoju
    - Każdy duży producent mógł wydać setki do tysięcy modeli z I²C
    - Setki firm + nowe wersje/rewizje układów (czasem jeden chip ma 10-20 wariantów)

    🔢 Konserwatywne oszacowanie:
    - Co najmniej 50 000–100 000 unikalnych modeli układów z I²C pojawiło się przez ostatnie 4 dekady.

    ✅ Odpowiedź:

    > Na świecie wyprodukowano prawdopodobnie ponad 50 000 różnych modeli układów scalonych z interfejsem I²C, a liczba ta wciąż rośnie.
  • REKLAMA
  • #6 21519538
    rb401
    Poziom 39  
    Posty: 3002
    Pomógł: 750
    Ocena: 984
    ostrytomasz napisał:
    Obsługa danego układu najczęściej ogranicza się do podstawowych lub wybranych funkcji, umożliwiając przetestowanie ale niekoniecznie dając dostęp do wszystkich możliwości.


    No właśnie. Twój program jest dobry do szybkich testów elementów, bez potrzeby np. kompilowania przykładów z Arduino.
    Akurat teraz sprawdzałem Twoim programem kupiony od Chińczyka wyświetlacz 4xMAX7219 i rezultat na pierwszy rzut oka wydawał się dziwny:

    Wyświetlacz 4xMAX7219 pokazujący HMMM z kontrolerem.

    Ale po spojrzeniu do DS tego MAXa wyszło że wszystko jest jak najbardziej ok. Tak ma być.

    Fajnie też że Twój program się rozwija.


    Jest w tym temacie jednak jeden problem że CH341A jest kojarzony z tymi konkretnymi płytkami programatorów pamięci. Które to po prostu są wadliwe konstrukcyjnie i pierwszą czynnością po zakupie jest ich uzdatnienie. Widzę na zdjęciach że też Twoja płytka jest poprawiona.
    Ale chciałbym tu zwrócić uwagę że do zastosowania jako tester elementów z Twoimi oprogramowaniem, odpowiedniejsze są płytki CH341A ale w wersji bez podstawki ZIF. Przykładowo taka jak sam używam.
    Tu akurat z trochę niewyraźnym schematem ale lepszego nie znalazłem:

    Schemat układu CH341A i jego wymiary.

    Przełączanie napięć logiki i zasilania układu badanego (3,3V, 5V) jest poprawne i wygodne. Reszta właściwości w zastosowaniu jako tester, jest taka sama jak tej nieszczęsnej płytki programatora.
  • #7 21519697
    ostrytomasz
    Poziom 25  
    Posty: 494
    Pomógł: 82
    Ocena: 218
    rb401 napisał:

    Akurat teraz sprawdzałem Twoim programem kupiony od Chińczyka wyświetlacz 4xMAX7219 i rezultat na pierwszy rzut oka wydawał się dziwny:


    O łączeniu w szereg niestety nie myślałem - na razie mam tylko jedną sztukę. Wygląda jakby trzeba było dorzucić pusty bajt na przejściach.

    rb401 napisał:

    Jest w tym temacie jednak jeden problem że CH341A jest kojarzony z tymi konkretnymi płytkami programatorów pamięci. Które to po prostu są wadliwe konstrukcyjnie i pierwszą czynnością po zakupie jest ich uzdatnienie. Widzę na zdjęciach że też Twoja płytka jest poprawiona.
    Ale chciałbym tu zwrócić uwagę że do zastosowania jako tester elementów z Twoimi oprogramowaniem, odpowiedniejsze są płytki CH341A ale w wersji bez podstawki ZIF.


    Do następnego zamówienia z ali też planuję takowy dorzucić - trochę jako zapas, trochę dla wygody i dostępności (chyba) wszystkich pinów.

    Co ciekawe, spotkałem się z silną opinią (https://www.youtube.com/watch?v=J8-Sh7DjiXw) że przeróbka na 3,3 V nie jest konieczna ze względu na ograniczoną wydajność prądową pinów. Sam bym pod to głowy nie podłożył (nie wszystkie piny zostały przetestowane, nie sposób wypowiedzieć się o wszystkich układach na świecie), ale przez pewien czas używałem programatora bez przeróbki.
  • #8 21520135
    rb401
    Poziom 39  
    Posty: 3002
    Pomógł: 750
    Ocena: 984
    ostrytomasz napisał:
    O łączeniu w szereg niestety nie myślałem - na razie mam tylko jedną sztukę. Wygląda jakby trzeba było dorzucić pusty bajt na przejściach.

    To nie jest jakaś uciążliwość. Wystarczy dodatkowo nacisnąć raz klawisz Write by te słowa, które zostały w rejestrach przesuwających poprzednich kostek dotarły do tych kostek wyświetlających niepełny obraz i jest ok.

    Czyli testować całościowo takie akurat wielokrotne wyświetlacze Twoim programem jak najbardziej się da.
    Chodzi tylko o to, by widząc braki linii na prawych wyświetlaczach nie wpadać od razu w panikę, że może Chińczyk źle włożył matryce LED do podstawki, albo czegoś nie dolutował.

    Ale faktycznie dodanie jakiś kilku No-Op (czyli np. 16 bitów zerowych) na końcu każdego transferu by chyba nie zaszkodziło a zlikwidowało by ten efekt.
  • #9 21524935
    Michal2002
    Poziom 24  
    Posty: 1361
    Pomógł: 18
    Ocena: 179
    Fajna zabawka :) Wesołych Świąt Zmartwychwstania Pańskiego .
  • #10 21569159
    George54351
    Poziom 8  
    Posty: 7
    Pomógł: 1
    Ocena: 3
    Zastanawiam się nad CH341, czy mógłby wykonać programowanie EMMC jako alternatywne i tanie rozwiązanie dla dużych, profesjonalnych i znacznie droższych programistów. Może się całkowicie mylę, ponieważ nie spotkałem się z programowaniem EMMC w przeszłości i nie mam jeszcze programisty, który poradziłby sobie z tym zadaniem.
  • #11 21569251
    ostrytomasz
    Poziom 25  
    Posty: 494
    Pomógł: 82
    Ocena: 218
    George54351 napisał:
    CH341, czy mógłby wykonać programowanie EMMC jako alternatywne i tanie rozwiązanie dla dużych, profesjonalnych i znacznie droższych programistów


    Jeżeli liczy się szybkość, to byłby bardzo mało atrakcyjny ze względu na mocno ograniczoną szybkość SPI, ograniczoną szybkość USB Full Speed i konieczność pollingu. Jakikolwiek dedykowany adapter USB-SD byłby wielokrotnie lepszy. W przypadku programatora wielokrotnego można byłoby poszukać mikrokontrolera z 4 kontrolerami SD i Ethernet albo USB HS.

    Lista zmian w wersji 1.5.0:
    - dodany ADC MAX11601
    - dodany tuner FM TEA5767
    - dodany RTC S35390A
    - dodany RTC DS3231
    - dodany wyświetlacz LCD ST7567
    CH341 à la Bus Pirate - tani i umiarkowanie przydatny
    - dodana obsługa połączonych kaskadowo wyświetlaczy LED 8x8 z MAX7219 (do 4 sztuk)
    CH341 à la Bus Pirate - tani i umiarkowanie przydatny
    - dodany magnetometr/kompas HMC5883L
    - dodany monitor zasilania INA226
    - dodany wybór stylu prezentacji (lista albo "i2cdetect") do modułu wykrywania urządzeń I2C
    - CH341 jest reinicjowany automatycznie jeżeli szybkość I2C została zmieniona w ustawieniach

    W wersji 1.6.0:
    - dodatkowe opcje konfiguracyjne przy wykrywaniu I2C (ograniczanie zakresu skanowania, interwał) dla ułatwienia wyzwalania oscyloskopu
    - piny używane do transmisji MDIO zamienione na bezpieczniejszy elektrycznie zestaw SCL + SDA (zbędny zewnętrzny rezystor)
    - dodany czujnik natężenia oświetlenia VEML7700
    - dodany wyświetlacz CH1115 48x88px 0.5" OLED
    CH341 à la Bus Pirate - tani i umiarkowanie przydatny
    - dodany nadajnik FM Si4713; opcja pobierania tekstu do RDS z Winampa 2.x
    CH341 à la Bus Pirate - tani i umiarkowanie przydatny
    CH341 à la Bus Pirate - tani i umiarkowanie przydatny
    Załączniki:
    • CH341A_tool_1_6_0_src.zip (779.9 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • CH341A_tool_1_6_0_bin.zip (616.04 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • CH341A_tool_1_5_0_src.zip (723.8 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • CH341A_tool_1_5_0_bin.zip (570.32 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #12 21908854
    kassans
    Poziom 32  
    Posty: 1820
    Pomógł: 130
    Ocena: 411
    Świetny program! Może jeszcze dodać obsługę HD44780 i2C, LCD z Noki 5110, DS18B20.
  • #13 21908870
    ostrytomasz
    Poziom 25  
    Posty: 494
    Pomógł: 82
    Ocena: 218
    kassans napisał:
    Może jeszcze dodać obsługę HD44780 i2C, LCD z Noki 5110, DS18B20.


    HD44780 + PCF8574 (jak i połączony bezpośrednio, wymagając kilku linii więcej) jest:

    Zrzut ekranu aplikacji „CH341 tool” z wybraną opcją „HD44780 + PCF8574 display” i polami tekstu.

    O wyświetlaczu z 5110 nie myślałem, nie mam go na razie a chyba nie są one już obecnie atrakcyjne cenowo. DS18B20 (1-wire w ogólności) chyba niestety nie jest do zrobienia ze względu na swoje wymogi czasowe i ograniczenia CH341 (podobnie jak np. z obsługą WS2812, nawet w trybie UART gdzie przeciągany jest bit stopu przy wyższych baudrate).

    W wersji 1.7.0 narzędzia podzielone zostały na kategorie (jak na ilustracji powyżej), dodany odczyt SHT4x, czujnika światła TSL2591, klawiatury MPR121 i sterowanie nadajnikiem FM KT0803L.
    Załączniki:
    • CH341A_tool_1_7_0_bin.zip (671.79 KB) Musisz być zalogowany, aby pobrać ten załącznik.
    • CH341A_tool_1_7_0_src.zip (823.22 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • #15 21908889
    ostrytomasz
    Poziom 25  
    Posty: 494
    Pomógł: 82
    Ocena: 218
    Bo i same Nokie wyginęły... Trochę tych wyświetlaczy u Chińczyków jeszcze jest i wciąż mogą być przydatne ze względu na dosyć niski pobór energii, ale wybór tanich i łatwo dostępnych wyświetlaczy jest obecnie dużo większy.
  • REKLAMA
  • #16 21914709
    Michal2002
    Poziom 24  
    Posty: 1361
    Pomógł: 18
    Ocena: 179
    Mógłbyś dodać jakieś nietypowe układy RF.
  • #17 21915043
    ostrytomasz
    Poziom 25  
    Posty: 494
    Pomógł: 82
    Ocena: 218
    Michal2002 napisał:
    Mógłbyś dodać jakieś nietypowe układy RF.


    Jakieś przykłady? Przypuszczam że z tym może być kłopot, ja raczej muszę testować to co piszę, nieprzetestowane narzędzie nie miałoby żadnej wartości. Drugi problem przy technice radiowej to dosyć specjalistyczne narzędzia i umiejętności które mogą być wymagane przy testowaniu.
  • #18 21915481
    Michal2002
    Poziom 24  
    Posty: 1361
    Pomógł: 18
    Ocena: 179
    Np Si4735 , DSP - ADAU1701. Wiele chyba nie potrzeba. Narzędzie rozwijane może być całkiem przydatne nawet dla konstruktorów.
📢 Słuchaj (AI):

Podsumowanie tematu

✨ Dyskusja dotyczy wielofunkcyjnego narzędzia testowego opartego na CH341, rozwijanego jako prostsza alternatywa w stylu Bus Pirate do diagnostyki i obsługi układów elektronicznych. Program początkowo miał służyć do pracy z bateriami laptopowymi i magistralą I2C, ale rozrósł się do zestawu modułów do wykrywania urządzeń I2C, odczytu i zapisu surowych danych po I2C i SPI, odczytu smart battery oraz obsługi wielu czujników i wyświetlaczy. W rozmowie pojawiają się sugestie usprawnień, m.in. graficzna prezentacja skanera I2C, identyfikacja sterowników OLED, dodanie zapisu binarnego oraz przełączanie sposobu prezentacji wyników. Omawiane są też ograniczenia CH341: niska szybkość SPI/USB Full Speed, polling, problemy z 1-wire i WS2812 oraz brak sensu użycia do szybkiego programowania eMMC. W kolejnych wersjach dodano m.in. MAX11601, TEA5767, S35390A, DS3231, ST7567, kaskadowe MAX7219, HMC5883L, INA226, SHT4x, TSL2591, MPR121 i KT0803L, a także obsługę HD44780 z PCF8574.
Wygenerowane przez model językowy.
REKLAMA