Hello.
I am trying to read and write integers from a text file in Code compose using fopen and fprintf, however I am unable to open the file that I am reading from(give me a "Could not open data.txt". I am trying to write an application for students in my class, so I would like to figure this out quickly.
FILE *filepointer;
FILE *file;
int character;
filepointer=fopen("coeff", "r+"); /* filepointer points to data.txt */
file=fopen("coeff", "r+");
//file = fopen("file.txt","r+"); /* apend file (add text to
//a file or create a file if it does not exist.*/
if (filepointer==NULL) { /* error opening file returns NULL */
printf("Could not open data.txt!\n"); /* error message */
//return 1; /* exit with failure */
}
while ((character=fgetc(filepointer)) != EOF) {
putchar(character); /* print the character */
//fprintf(file,"%c",character); /*writes*/
//printf ("%d ", i);
//fscanf (filepointer, "%d", &i);
}
/* Initialize BSL */
read_ints ("");
USBSTK5505_init( );
/* Initialize the Phase Locked Loop in EEPROM */
pll_frequency_setup(100);
/* Initialise hardware interface and I2C for code */
aic3204_hardware_init();
/* Initialise the AIC3204 codec */
aic3204_init();
printf("\n\nRunning FIR Filters Project\n");
printf( "<-> Audio Loopback from Stereo Line IN --> to HP/Lineout\n\n" );
/* Set sampling frequency in Hz and ADC gain in dB */
set_sampling_frequency_and_gain(SAMPLES_PER_SECOND, GAIN_IN_dB);
puts("1 Flash = Straight through, no processing");
puts("2 Flashes = Hamming filter 500 Hz");
puts("3 Flashes = Hamming filter 1000 Hz");
puts("4 Flashes = Hamming filter 2000 Hz");
puts("5 Flashes = Hamming filter 3000 Hz");
asm(" bclr XF");
for ( i = 0 ; i < SAMPLES_PER_SECOND * 600L ;i++ )
{
aic3204_codec_read(&left_input, &right_input); // Configured for one interrupt per two channels.
mono_input = stereo_to_mono(left_input, right_input);
step = LEDFlasher(5); // 5 Different filter settings.
switch (3)
{
case 1:
left_output =FIR_filter_asm(&NoDelay[0], mono_input); // Straight through, no processing.
//left_output = mono_input; // Straight through, no processing.
//right_output = mono_input;
right_output = FIR_filter_asm_2(&Delay[0], mono_input);
break;
case 2:
left_output = FIR_filter_asm(&Hamming_Low_Pass_Filter_500Hz[0], mono_input);
right_output = FIR_filter_asm_2(&Hamming_High_Pass_Filter_500Hz[0], mono_input);
break;
case 3:
left_output = FIR_filter_asm(&Hamming_Low_Pass_Filter_1000Hz[0], mono_input);
right_output = FIR_filter_asm_2(&Hamming_High_Pass_Filter_1000Hz[0], mono_input);
puts(""+left_output);
break;
case 4:
left_output = FIR_filter_asm(&Hamming_Low_Pass_Filter_2000Hz[0], mono_input);
right_output = FIR_filter_asm_2(&Hamming_High_Pass_Filter_2000Hz[0], mono_input);
break;
case 5:
left_output = FIR_filter_asm(&Hamming_Low_Pass_Filter_3000Hz[0], mono_input);
right_output = FIR_filter_asm_2(&Hamming_High_Pass_Filter_3000Hz[0], mono_input);
break;
}
aic3204_codec_write(left_output, right_output);
}
/* Disable I2S and put codec into reset */
aic3204_disable();
printf( "\n***Program has Terminated***\n" );
SW_BREAKPOINT;
}