Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@jgautier
Created May 3, 2012 03:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jgautier/2582957 to your computer and use it in GitHub Desktop.
Save jgautier/2582957 to your computer and use it in GitHub Desktop.
usigned long wtf
#include <stdio.h>
int
main ()
{
char durationArray[4];
char timeoutArray[4] = {
(0 & 0x7F) | ((0 & 0x7F) << 7)
,(15 & 0x7F) | ((0 & 0x7F) << 7)
,(66 & 0x7F) | ((0 & 0x7F) << 7)
,(64 & 0x7F) | ((0 & 0x7F) << 7)
};
unsigned long timeout1 = (
(timeoutArray[0] << 24)
+ (timeoutArray[1] << 16)
+ (timeoutArray[2] << 8)
+ (timeoutArray[3]) );
durationArray[0] = ((timeout1 >> 24) & 0xFF) ;
durationArray[1] = ((timeout1 >> 16) & 0xFF) ;
durationArray[2] = ((timeout1 >> 8) & 0XFF);
durationArray[3] = ((timeout1 & 0xFF));
timeout1 = (
(durationArray[0] << 24)
+ (durationArray[1] << 16)
+ (durationArray[2] << 8)
+ (durationArray[3]) );
printf("%lu",timeout1);
return 0;
}
//outputs 1000000
#include<stdint.h>
void setup(){
Serial.begin(9600);
}
void loop(){
unsigned char durationArray[4];
unsigned char timeoutArray[4] = {
(0 & 0x7F) | ((0 & 0x7F) << 7)
,(15 & 0x7F) | ((0 & 0x7F) << 7)
,(66 & 0x7F) | ((0 & 0x7F) << 7)
,(64 & 0x7F) | ((0 & 0x7F) << 7)
};
//unsigned long timeout1 = (
// (timeoutArray[0] << 24)
// + (timeoutArray[1] << 16)
// + (timeoutArray[2] << 8)
// + (timeoutArray[3]) );
unsigned long timeout1 = 1000000L;
durationArray[0] = ((timeout1 >> 24) & 0xFF) ;
durationArray[1] = ((timeout1 >> 16) & 0xFF) ;
durationArray[2] = ((timeout1 >> 8) & 0xFF);
durationArray[3] = ((timeout1 & 0xFF));
Serial.println( durationArray[0]);
Serial.println( durationArray[1]);
Serial.println( durationArray[2]);
Serial.println( durationArray[3]);
timeout1 = (
((unsigned long)durationArray[0] << 24)
| ((unsigned long)durationArray[1] << 16)
| ((unsigned long)durationArray[2] << 8)
| ((unsigned long)durationArray[3]) );
Serial.println(timeout1);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment