ESP32 decodering canbus signaal 2 bytes
4 berichten
• Pagina 1 van 1
ESP32 decodering canbus signaal 2 bytes
Beste forumleden,
het is al weer enige tijd geleden dat ik hier wat gepost heb en in al die tijd is het mij eigenlijk
altijd wel gelukt om iets werkend te krijgen en heb hierdoor veel geleerd.
Nu ben ik bezig om data uit te lezen van div sensoren die in een canbus systeem hangen.
Ik heb hiervoor een esp32 met een max3051 can tranceiver printje dat gegevens doorstuurt naar een nextion display.
Dit heb ik eigenlijk al werkend en data wordt verstuurd naar een nextion scherm.
Nu heb ik een sensor die van de 8bytes canbus gegevens de 1e 2 bytes een waarde aangeeft van een sensor.
Alleen krijg ik dit niet goed geconverteerd naar de juiste waarde.
Als voorbeeld geeft de sensor de hex waarde 01 02 00 00 00 00 00 00, de 1e 2 waardes zijn van belang en moeten het decimale getal 12 weergeven.
Ik krijg dit niet voor elkaar, ik heb het al geprobeerd met (rx_frame.data[1]<<8)+rx_frame.data[0]; alleen is dit niet het juiste en
(rx_frame.data[1])+rx_frame.data[0]; geeft ook niet het gewenste resultaat. Het komt er op neer dat de 1e hex waarde 01 links moet komen en de 2e hex waarde aan de rechterkant.
Als laatste voorbeeld hex code 03 09 00 00 00 00 00 00 moet als decimaal 39 aangeven.
Ik hoop dat ik het een beetje duidelijk heb omschreven en ben inmiddels wel benieuwd na al mijn pogingen of dit kan?
Mvg Andre
het is al weer enige tijd geleden dat ik hier wat gepost heb en in al die tijd is het mij eigenlijk
altijd wel gelukt om iets werkend te krijgen en heb hierdoor veel geleerd.
Nu ben ik bezig om data uit te lezen van div sensoren die in een canbus systeem hangen.
Ik heb hiervoor een esp32 met een max3051 can tranceiver printje dat gegevens doorstuurt naar een nextion display.
Dit heb ik eigenlijk al werkend en data wordt verstuurd naar een nextion scherm.
Nu heb ik een sensor die van de 8bytes canbus gegevens de 1e 2 bytes een waarde aangeeft van een sensor.
Alleen krijg ik dit niet goed geconverteerd naar de juiste waarde.
Als voorbeeld geeft de sensor de hex waarde 01 02 00 00 00 00 00 00, de 1e 2 waardes zijn van belang en moeten het decimale getal 12 weergeven.
Ik krijg dit niet voor elkaar, ik heb het al geprobeerd met (rx_frame.data[1]<<8)+rx_frame.data[0]; alleen is dit niet het juiste en
(rx_frame.data[1])+rx_frame.data[0]; geeft ook niet het gewenste resultaat. Het komt er op neer dat de 1e hex waarde 01 links moet komen en de 2e hex waarde aan de rechterkant.
Als laatste voorbeeld hex code 03 09 00 00 00 00 00 00 moet als decimaal 39 aangeven.
Ik hoop dat ik het een beetje duidelijk heb omschreven en ben inmiddels wel benieuwd na al mijn pogingen of dit kan?
Mvg Andre
Advertisement
Re: ESP32 decodering canbus signaal 2 bytes
wat staat er in rx_frame.data[0] en in rx_frame.data[1]
met een beetje geluk is dat dus 3 en dan 9 en dus eerst de 3 converteren naar een int en dan de 9 en dan dus 3*10 +9 ofwel int(0)*10+int(1).
met een beetje geluk is dat dus 3 en dan 9 en dus eerst de 3 converteren naar een int en dan de 9 en dan dus 3*10 +9 ofwel int(0)*10+int(1).
paul deelen
shooter@home.nl
shooter@home.nl
Re: ESP32 decodering canbus signaal 2 bytes
Beste Paul,
dank voor je reactie en wat jij beschrijft werkt inderdaad.
Nu ik het zo zie begrijp ik het ook alleen ik kwam er gewoon niet uit.
Misschien dom van mij maar zag het gewoon even niet......ben blij dat het nu werkt!
Mvg Andre
dank voor je reactie en wat jij beschrijft werkt inderdaad.
Nu ik het zo zie begrijp ik het ook alleen ik kwam er gewoon niet uit.
Misschien dom van mij maar zag het gewoon even niet......ben blij dat het nu werkt!
Mvg Andre
Re: ESP32 decodering canbus signaal 2 bytes
ach zelfs de koning is een beetje dom volgens zijn vrouw, kwestie van welke kant aftellen etc.
paul deelen
shooter@home.nl
shooter@home.nl
4 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 3 gasten