#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include <unistd.h>
#include <time.h>
#include <locale.h>
#include <sys/timeb.h>
#include <fcntl.h>
int main(void)
{
struct tm *tm_now = NULL;
struct timeb t;
char path[30]="/sdcard/";
char name[9];
int i;
int ADC_result_mV;
int read_ADC_return;
int write_count=0;
int file_fd;
char string_write_count[50];
char string_ADC_result[5];
ftime(&t);
tm_now = localtime(&t.time);
if(!tm_now)
{
printf("cannot get right tm_now\n\r ");
return -1;
}
sprintf(&name[0], "%d%02d%02d", tm_now->tm_year+1900, tm_now->tm_mon+1,tm_now->tm_mday);
strcat(path,name);
strcat(path,".txt");
printf("Path=%s \n\r",path);
file_fd = open(path, O_RDWR | O_CREAT, 0777);
if(file_fd < 0)
{
printf("failed open file\n\r");
return -1;
}
else
printf(" open file success\n\r");
lseek(file_fd,0,SEEK_END);
int ADC_fd = open("/dev/adc",O_RDWR);
if(ADC_fd == -1)
{
printf("Open /dev/adc Error!\n\r");
return -1;
}
else
printf("Open /dev/adc success!\n\r");
while(write_count<100)
{
read_ADC_return = read(ADC_fd,&string_ADC_result,sizeof(string_ADC_result));
if(read_ADC_return<0)//
{printf(“read ADC occur error\n\r”);
continue;
}
//ADC_result_mV = write_count;
printf("result is = %s \n\r",string_ADC_result);
sprintf(string_write_count, "%d %s %s %s",write_count ,"sample result = ",string_ADC_result, "\n\r");
write(file_fd, string_write_count, strlen(string_write_count));
//write(file_fd, string_ADC_result, sizeof(string_ADC_result));
usleep(100*1000);//100*1000us=100ms
write_count++;
//break;
}
close(ADC_fd);
close(file_fd);
printf("finish %d write the ADC result\n\r",write_count);
return 0;
}