Advertisement
schreiberstein

arduino-modem-sketch-01

Dec 25th, 2012
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.98 KB | None | 0 0
  1.  
  2. // modem sketch
  3.  
  4. // User configuration [START]
  5. int baudrate = 9600;  // 9600 -> DEFAULT
  6. // User configuration [END]
  7.  
  8.  
  9. void setup() {
  10.   Serial.begin(baudrate);
  11.   Serial.println(freeRam());
  12. }
  13.  
  14.  
  15. void loop() {
  16.  
  17.   if (Serial.available() > 0) {
  18.     Serial.println(string_readln());
  19.     Serial.println(freeRam());
  20.   }
  21. }
  22.  
  23. String string_readln() {
  24.   delay(500); // Just a temporary change, as one needs to wait for the buffer to fill
  25.   char *string_readln_line;
  26.   unsigned long long i = 0;
  27.   String string_readln_output;
  28.  
  29.   string_readln_line = (char *) (malloc(Serial.available()*sizeof(char)));
  30.  
  31.   while (Serial.available() > 0) {
  32.     *&string_readln_line[i] = Serial.read();
  33.     i++;  
  34.   }
  35.  
  36.   string_readln_output = String(string_readln_line);
  37.   free(string_readln_line);
  38.   return string_readln_output;
  39.  
  40. }
  41. int freeRam () {
  42.   extern int __heap_start, *__brkval;
  43.   int v;
  44.   return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval);
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement