RuiViana

Cpointer.ino

Jan 12th, 2019
237
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. int *prt1;                         // define o pointer como int (2 bytes de endereço)
  2. byte *prt2;                        // define o pointer como byte (1 byte de endereço)
  3. //---------------------------------------------------------------------------
  4. void setup()
  5. {
  6.   Serial.begin(115200);           // Inicializa serial
  7.   Serial.println(" ");            // Nova linha
  8.   long valor = 0xFCAB1245;        // Define variavel e carrega com HEX
  9.   int addr = &valor;              // Carrega o endereco da variavel no pinter
  10.  
  11.   Serial.print("Endereco = ");    // Print
  12.   Serial.println(addr);           // Print endereco da variavel
  13.  
  14.   prt1 = addr +3;                 // Carrega o valor lido de addr no pointer
  15.   prt2 = addr +3;                 //  e soma 3 para ler de cima para baixo      
  16.   Serial.print("prt1: = ");       // Print              
  17.   Serial.println((int)prt1);      // Imprime pointer1
  18.    Serial.print("prt2: = ");      // Print  
  19.   Serial.println((int)prt2);      // Imprime pointer2
  20.  
  21.   Serial.print("valor = ");       // Print
  22.   Serial.println(valor, HEX);     // Imprime variavel
  23.   //  ----------------------------- usa pointer int -------------------------
  24.   Serial.print("lido int : ");    // Print
  25.   for (int i = 4; i > 0; i--)     //
  26.   {
  27.     Serial.print(*prt1, HEX);     // Imprime cada byte da memoria com endereco da variavel
  28.     Serial.print(" ");            // Print
  29.     prt1-- ;                      // Decrementa pointer
  30.   }
  31.   Serial.println(" ");            // Print
  32.     //  ----------------------------- usa pointer byte -------------------------
  33.   Serial.print("lido byte: ");    // Print
  34.   for (int i = 4; i > 0; i--)     //
  35.   {
  36.     Serial.print(*prt2, HEX);     // Imprime cada byte da memoria com endereco da variavel
  37.     Serial.print(" ");            // Print
  38.     prt2-- ;                      // Decrementa pointer
  39.   }
  40. }
  41. //---------------------------------------------------------------------------
  42. void loop() {
  43. }
RAW Paste Data