Skip to main content
1 of 2
Nick Gammon
  • 38.9k
  • 13
  • 70
  • 126

From SPI.h:

#ifndef LSBFIRST
#define LSBFIRST 0
#endif
#ifndef MSBFIRST
#define MSBFIRST 1
#endif

As you can see, there is no type. The compiler merely substitutes literally "1" for "MSBFIRST". So your code would read, after pre-processing:

 SPI.setBitOrder(1)

To know exactly what type "1" is (I'm not sure why you need to know) then you would look up "C++ integer promotion". In other words, how are literal integers handled by the C++ compiler.

Nick Gammon
  • 38.9k
  • 13
  • 70
  • 126