Advertisement
AntonioVillanueva

Test Arduino Serie

May 24th, 2020
1,823
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.43 KB | None | 0 0
  1. //Puerto Serie TEST
  2. //Defino MACRO para calculo de longitud de una cadena
  3. #define LONGITUD(cadena) (sizeof(cadena)/sizeof(cadena[0]))
  4. #define BPS 9600
  5. #define RETARDO 500
  6.  
  7. //-------------------------------------------------------------------
  8.  
  9. // Rutina despues de RESET o POWER
  10. void setup() {
  11.   Serial.begin(BPS);//Inicializo puerto serie , segun BPS
  12. }
  13. //-------------------------------------------------------------------
  14.  
  15. //Rutina escritura en el puerto serie , utiliza punteros
  16. void tx(unsigned char *datos,int longitud) {
  17.  
  18.   //Serial.print ("LONG= ");Serial.println (longitud);//DEBUG LONGITUD
  19.  
  20.   while (longitud --){//Efectua el bucle mientras longitud >0
  21.    
  22.    // Serial.print((char) *(datos++)); //Accedo a los datos por puntero  
  23.     Serial.print (" 0x");Serial.print(*(datos++),HEX); //Accedo a los datos por puntero imprime como HEX 0x    
  24.   }  
  25.   Serial.println (); //Una linea vacia si nos hace falta
  26. }
  27.  
  28. //-------------------------------------------------------------------
  29. //Bucle principal
  30.  
  31. void loop() {
  32.  
  33.   unsigned char ejemplo[] {'a','b','c','d','e','f'};//chars
  34.   unsigned char numeros[] {7,8,9,10,11,12,13,14,15};//Para ejemplos numericos
  35.    
  36.   while (!Serial) {;} //Espera que tengamos puerto serie
  37.  
  38.  // tx(ejemplo,LONGITUD(ejemplo));//Llamada a la rutina impreion serie con CHAR
  39.   tx(numeros,LONGITUD(numeros));//Llamada a la rutina impreion serie numeros  
  40.  
  41.   delay(RETARDO);//Retardo
  42.  
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement