Ik ben aan het spelen met de SHT75 Vochtigheid & Temperatuur sensor. Heb alles voor elkaar. Kan mooi de Vochtigheid & Temperatuur halen. Ik zou alleen graag een CRC controle willen uitvoeren op de ontvangen bits.
In de datasheet staat uitgelegt hoe dit zou moeten. Ik begrijp er alleen niet al te veel van. Na dat je de bits van de Vochtigheid of Temperatuur hebt ontvangen, zou je ook de crc bits kunnen ontvangen. Deze bits kan ik inderdaad ontvangen. Alleen hoe het bereken van de crc waarde in zijn werk gaat is mij totaal ontduidelijk.
De datsheet van de SHTxx is te vinden op:
SHTx
Toevoeging voor crc controle
Ik heb een vertaling gemaakt van de uitleg in de datasheet voor de controle van de crc controle.
Bytewise met deze implementatie wordt de CRC gegevens opgeslagen in een lijst van de 256 byteraadpleging. Voer de volgende handelingen uit:
1. Initialiseer het CRC register met de waarde van lager knagen aan van de waarde van het omgekeerde statusregister ((s0sß2s3'0000)). (gebrek ' 00000000 ' = 0)
Als ik de eerste datasheet bekijk dan haal de de crc waarde gewoon op na het ontvangen van de Vochtigheid of Temperatuur "zie pagina 3" )
2. XOR elke (overgebracht en ontvangen) byte met de vorige CRC waarde. Het resultaat is de nieuwe byte u de CRC waarde moet berekenen waarvan.
Wat ze hier mee bedoelen is mij totaal onduidelijk, denk dat dit komt omdat ik bij 1 al in de fout ga. De volgende stappen lukken dan natuurlijk niet
3. Gebruik deze waarde als index aan de lijst om de nieuwe CRC waarde te verkrijgen.
4. Herhaal van 2 tot u alle bytes door het proces hebt overgegaan.
5. De laatste byte die van de lijst wordt teruggewonnen is de definitieve CRC waarde.
6. De CRC waarde die van SHTxx wordt teruggewonnen moet worden omgekeerd (beetje 0 = beetje 7, beetje 1=bit 6... beetje 7 = beetje 0) en kan dan bij definitieve CRC waarde (2) worden vergeleken
Zou jullie mij misschien op gang kunnen helpen. Als ik weet wat nu eigenlijk de bedoeling is dan kom ik er wel uit denk ik.
In de datasheet staat uitgelegt hoe dit zou moeten. Ik begrijp er alleen niet al te veel van. Na dat je de bits van de Vochtigheid of Temperatuur hebt ontvangen, zou je ook de crc bits kunnen ontvangen. Deze bits kan ik inderdaad ontvangen. Alleen hoe het bereken van de crc waarde in zijn werk gaat is mij totaal ontduidelijk.
De datsheet van de SHTxx is te vinden op:
SHTx
Toevoeging voor crc controle
Ik heb een vertaling gemaakt van de uitleg in de datasheet voor de controle van de crc controle.
Bytewise met deze implementatie wordt de CRC gegevens opgeslagen in een lijst van de 256 byteraadpleging. Voer de volgende handelingen uit:
1. Initialiseer het CRC register met de waarde van lager knagen aan van de waarde van het omgekeerde statusregister ((s0sß2s3'0000)). (gebrek ' 00000000 ' = 0)
Als ik de eerste datasheet bekijk dan haal de de crc waarde gewoon op na het ontvangen van de Vochtigheid of Temperatuur "zie pagina 3" )
2. XOR elke (overgebracht en ontvangen) byte met de vorige CRC waarde. Het resultaat is de nieuwe byte u de CRC waarde moet berekenen waarvan.
Wat ze hier mee bedoelen is mij totaal onduidelijk, denk dat dit komt omdat ik bij 1 al in de fout ga. De volgende stappen lukken dan natuurlijk niet
3. Gebruik deze waarde als index aan de lijst om de nieuwe CRC waarde te verkrijgen.
4. Herhaal van 2 tot u alle bytes door het proces hebt overgegaan.
5. De laatste byte die van de lijst wordt teruggewonnen is de definitieve CRC waarde.
6. De CRC waarde die van SHTxx wordt teruggewonnen moet worden omgekeerd (beetje 0 = beetje 7, beetje 1=bit 6... beetje 7 = beetje 0) en kan dan bij definitieve CRC waarde (2) worden vergeleken
Zou jullie mij misschien op gang kunnen helpen. Als ik weet wat nu eigenlijk de bedoeling is dan kom ik er wel uit denk ik.