Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const uint8_t header = 0x7E;
- const uint8_t bufferSize = 4;
- uint8_t buffer[bufferSize];
- uint8_t readCounter;
- uint8_t isHeader;
- uint8_t firstTimeHeader;
- int a=0;
- int b=0;
- void setup(){
- Serial.begin(115200);
- readCounter = 0;
- isHeader = 0;
- firstTimeHeader = 0;
- }
- void loop()
- {
- if(Serial.available() > 0){
- uint8_t c = Serial.read();
- if(c == header){
- if(!firstTimeHeader){
- isHeader = 1;
- readCounter = 0;
- firstTimeHeader = 1;
- }
- }
- buffer[readCounter] = c;
- readCounter++;
- if(readCounter >= bufferSize){
- readCounter = 0;
- if(isHeader){
- uint8_t checksumValue = buffer[3];
- if(verifyChecksum(checksumValue)){
- int a = (buffer[1]);
- int b = (buffer[2]);
- }
- isHeader = 0;
- firstTimeHeader = 0;
- }
- }
- }
- }
- uint8_t verifyChecksum(uint8_t originalResult){
- uint8_t result = 0;
- uint16_t sum = 0;
- for(uint8_t i = 0; i < (bufferSize - 1); i++){
- sum += buffer[i];
- }
- result = sum & 0xFF;
- if(originalResult == result){
- return 1;
- }else{
- return 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement