Advertisement
jh_elec

Temperaturen zu einem String fassen

Jul 6th, 2018
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.14 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdint.h>
  3. #include <string.h>
  4. #include <windows.h>
  5.  
  6. typedef struct
  7. {
  8.     #define NUM_OF_SENS     5
  9.    
  10.     char out[ NUM_OF_SENS * 7 ];
  11.     uint16_t temp[NUM_OF_SENS];
  12.    
  13. }sd_t;
  14.  
  15.  
  16. uint8_t tempToStr( sd_t *sd )
  17. {
  18.     char result[4] = "";
  19.    
  20.     memset( ( char* )sd->out , 0 , NUM_OF_SENS * 7 ); // Speicher löschen
  21.    
  22.     uint8_t x;
  23.     for( x = 0 ; x < NUM_OF_SENS ; x++ )
  24.     {
  25.         if( sd->temp[x] > 300 || sd->temp[x] == 0 ) // Fehler ist aufgetreten
  26.         {
  27.             return 1;
  28.         }
  29.        
  30.         strcat( sd->out , itoa( x + 1 , result , 10 ) );
  31.         strcat( sd->out , "#" );
  32.        
  33.         itoa( sd->temp[x] , result, 10 );
  34.         strcat( sd->out + strlen( sd->out ) , result );
  35.         strcat( sd->out , " " );       
  36.     }
  37.    
  38.     strcat( sd->out , "\r\n" );
  39.    
  40.     return 0;
  41. }
  42.  
  43.  
  44.  
  45. int main ()
  46. {  
  47.     sd_t tmp;
  48.    
  49.     uint8_t i;
  50.     for( i = 0 ; i < 32 ; i++ ) // Anzahl der Messungen ( 32 )
  51.     {
  52.         tmp.temp[0] = 4; // Hier Temperatur 1
  53.         tmp.temp[1] = 254; // Hier Temperatur 2
  54.         tmp.temp[2] = 33;
  55.         tmp.temp[3] = 21;
  56.         tmp.temp[4] = 11;
  57.    
  58.         tempToStr( &tmp ); 
  59.         printf( tmp.out );  // Hier muss später deine Funktion zum schreiben auf die SD Karte hin!
  60.     }
  61.  
  62.     return 0;
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement