====== C++ ======
===== Types =====
==== char ====
* char for declaring 8 bits.
* Typically used for a single character
Following are legal
char c1;
char c2 = 'A';
char c3 = 65
char str1[];
char str2[] = {'h', 'i'};
char str3[3];
char str4[3] = {'h', 'i'};
char str5[3] = {'h', 'i', '\0'};
If want to clear a character then
c1 = 0;
If want to clear a character array then
str1[0] = 0;
==== bool ====
bool boolSomeBoolean;
Can be initialized with...
bool boolSomeBoolean1 = false;
bool boolSomeBoolean2 = 1;
===== Functions =====
==== Changing type formats ====
char c = 'A';
Serial.print((byte)c); //prints 41
Serial.print(c, HEX); //prints 41
Serial.print(c, BIN); //prints 01000001
Serial.print(c, DEC); //prints 65
==== Strings ====
Serial.print("Hi"); //Hi
Serial.println("Hi); //Hi then new line
Serial.print("Hi\n"); //Hi then new line. No space needed between text and \n
===== Structure =====
==== if ... else ====
if (condition) {statement;}
if else (condition) {statement;}
else {statement;}
A shorthand is available for simple if...else statements
variable = (condition) ? trueStatement : falseStatement;
E.g.
variable = ( today == birthday ) ? "Happy Birthday" : "Good day!";
==== for ====
for(int i = 0; i < limit; i++) {
statement;
}
==== Boolean Operators ====
&& // logical AND
|| // logical OR
! // logical NOT
==== Compound Operators ====
^= // compound bitwise XOR
+= // compound addition
-= // compound substraction
====== C++ for Arduino ======
===== SoftwareSerial =====
To use a Digital Pin as either Rx or Tx, other than the hardware designated Rx and Tx pins (pin 0 and pin 1), then shall use SoftwareSerial.
To do so to
#include
SoftwareSerial mySerial(2,3); // Rx, Tx
void setup() {
Serial.begin(9600);
mySerial.begin(9600);
}
void loop() {
while( mySerial.available() ) {
int i = mySerial.read();
mySerial.write(i);
Serial.print("Some text");
}
}