Hallo zusammen, für ein aktuelles Projekt möchte ich gerne ein USB-Gerät an meinen ESP32 anschließen. Beim USB-Gerät handelt es sich um einen Adapter, um Daten aus einer Viessmann-Heizung zu lesen. Auf dem Adapter befindet sich ein CH340G. Die Heizung wird über den Adapter seriell angesprochen (8E2 4800baud). Um den USB-Adapter mit dem ESP32 zu koppeln, verwende ich ein USB-Host (PIC24FJ64GB002) auf einer Platine von Hobbytronics. https://www.hobbytronics.co.uk/usb-host/usb-host-board-v24 Das Programm vom Hersteller bietet leider nur 8N1, 8O1 und 8E1, aber kein 8E2 was ich benötige. https://www.hobbytronics.co.uk/usb-host-serial Hat evtl. jemand eine Idee, wie ich das ganze lösen kann? Das Programm habe ich leider nur als .HEX. Der PIC24FJ64GB002 unterstützt 8E2, aber dafür müsste wohl das komplette Programm neu geschrieben werden.
:
Bearbeitet durch User
Vielleicht hilft das hier: https://www.microchip.com/forums/m840578.aspx Darin wird ein sample code angesprochen.
Warum umgehst Du den CH340 auf dem Viessmann-Adapter nicht einfach? Dann ist es einfach nur ein UART, und das solltest Du schaffen. fchk
Da muss die Konfiguration im UART Mode Register angepasst werden. bit 2-1 PDSEL1:PDSEL0: Parity and Data Selection bits 11 = 9-bit data, no parity 10 = 8-bit data, odd parity 01 = 8-bit data, even parity 00 = 8-bit data, no parity bit 0 STSEL: Stop Bit Selection bit 1 = Two Stop bits 0 = One Stop bit Das im HEX-Code zu suchen kann aber durchaus anspruchsvoll sein und eine Weile dauern.
Dieter W. schrieb: > Da muss die Konfiguration im UART Mode Register angepasst werden. > > bit 2-1 PDSEL1:PDSEL0: Parity and Data Selection bits > 11 = 9-bit data, no parity > 10 = 8-bit data, odd parity > 01 = 8-bit data, even parity > 00 = 8-bit data, no parity > > bit 0 STSEL: Stop Bit Selection bit > 1 = Two Stop bits > 0 = One Stop bit > > Das im HEX-Code zu suchen kann aber durchaus anspruchsvoll sein und eine > Weile dauern. Das es über den Eintrag im Register möglich ist, habe ich im Datenblatt gelesen. Leider liegt mir nur der HEX-Code (siehe Anhang) vor und ich habe keine Ahnung wie ich bit 0 (was aktuell 0 ist) finde ....
Dominik W. schrieb: > Leider liegt mir nur der HEX-Code (siehe Anhang) vor und ich habe keine > Ahnung wie ich bit 0 (was aktuell 0 ist) finde .... PICs sind nicht so mein Ding, aber gibt es für keinen Decompiler? Damit könnte man vielleicht den Zugriff auf das Register finden. Hast du mal nach dem o.g. Beispiel geguckt?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.