Vinnaren i pepparkakshustävlingen!
  • 2
  • 3
2017-04-03, 09:32
  #25
Medlem
Citat:
Ursprungligen postat av beltramo
Ja? Om man vill att det ska se ut som skräp, visst.


Booleans, aka false & true är definerad i stdbool.h, onödigt att inkludera något så simpelt.


Verkligen onödigt. Varför ens kommentera?



Testa detta, skrev det på 5 minuter, har ej gått igenom det lol

Kod:
#define TRUE 1
#define FALSE 0

#define LED 0
#define BUTTON 1

#include <stdio.h>
#include <time.h>
#include <wiringPi.h>

typedef char BOOL;

static 
void append_to_file(char *filechar *timeBOOL online)
{
    
FILE *file_stream;
    
    if((
file_stream fopen(file"a")) == NULL)
    {
        
fprintf(stderr"Failed to open: %s\n"file);
        return;
    }
    
    
fprintf(file_stream"Pump is %s at: %s\n"online == TRUE "online" "offline"time);
    
fclose(file_stream);
}

static 
char *retrieve_current_time(void)
{
    
time_t rawtime;
    
struct tm *timeinfo;
    
    
time(&rawtime);
    
timeinfo localtime(&rawtime);
    
    return(
asctime(timeinfo));
}

int main(void)
{
    
fprintf(stderr"Raspberry PI Input Test\n");
    
    
wiringPiSetup();
    
pinMode(LEDOUTPUT);
    
pinMode(BUTTONINPUT);
    
    
int rtrig 0ftrig 0;
    
    while(
TRUE)
    {
        
int ing1 digitalRead(BUTTON);
        
        if(
ing1 == TRUE)
        {
            
ftrig--;
            
delay(1000);
            
            while(
rtig 1)
            {
                
rtrig++;
                
                
/* skriv till stderr */
                
fprintf(stderr"Pump is offline at: %s\n"retrieve_current_time());
                
                
/* skriv till fil 'log.txt */
                
append_to_file("log.txt"retrieve_current_time(), TRUE);
            }
            
            
digitalWrite(LEDHIGH); // Ingen aning vad detta gör
        
}
        else
        {
            
delay(1000);
            
            while(
ftrig 1)
            {
                
ftrig++;
                
                
/* skriv till stderr */
                
fprintf(stderr"Pump is offline at: %s\n"retrieve_current_time());
                
                
/* skriv till fil 'log.txt */
                
append_to_file("log.txt"retrieve_current_time(), FALSE);
                
            }
            
digitalWrite(LEDLOW); // Ingen aning vad detta gör
            
rtrig--;
        }
    }
    
    return 
0;


Kod:
digitalWrite(LED, HIGH); // skriv digitalt värde(pinne,värde)
de är en rpi med wiringpi till så de är en blandning c,c++ och arduino
Citera
2017-04-03, 15:55
  #26
Medlem
nu har jag lyckats skriva till en .dat fil de jag önskar.
när programmet skrivit alla siffror i min fil vill jag räkna ut medel av dom vid 23:59 varjedag
Kod:
FILE *fp;
             int x = 20;
             fp=fopen("log.dat", "a");
             fprintf(fp,"time %f sek \n \n",difftime$
             // a+b+c+d.....=x  x/y=z   x summan av alla rader. y antal rader. z medelvärde.
fclose(fp);

överallt när jag kollar handlar de bara om att hämta text från fil och skriva ut de. aldrig siffror och än mindre räkna dom.

btw är de någon som vet hur man får sekunder att bli min och sec?
Kod:
time_t rawtime;
            struct tm * timeinfo;
            time ( &rawtime );
            timeinfo = localtime ( &rawtime );
            printf ( "pump is off at: %s", asctime (timeinfo) );
__________________
Senast redigerad av nittrick 2017-04-03 kl. 16:02.
Citera
  • 2
  • 3

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback