aca incluyo el archivo...
#include "cart.h"
void main( )
{
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi ( SPI_MASTER | SPI_L_TO_H | SPI_XMIT_L_TO_H |SPI_CLK_DIV_64 |SPI_SAMPLE_AT_END);
setup_wdt(WDT_OFF);
setup_timer_0(RTCC_INTERNAL);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
// enable_interrupts(INT_RDA);
enable_interrupts(GLOBAL);
setup_oscillator(False);
porta = 0b00000000 ; trisa = 0b00000100 ;
portb = 0b00111111 ; trisb = 0b00000000 ;
portc = 0b00000000 ; trisc = 0b11010000 ;
portd = 0b11111111 ; trisd = 0b00000000 ;
porte = 0b00000000 ; trise = 0b00000000 ;
delay_ms ( 40 ) ;
fm25256_reset ( ) ;
delay_ms ( 40 ) ;
printf ( "Hola\r\n" ) ;
while ( true )
{
domi = 0 ; chip = 0 ; u = 0 ; // inicializo las variables por las dudas...
for ( chip = 0 ; chip < 7 ; chip++ ) // para las 7 memorias
{
for ( domi = 0 ; domi < 32000 ; domi++ ) // que recorra los domicilios de la memoria
{
u = getc ( ) ; // recibe caracter del rs232
fm25256_wr_en ( chip ); // maniobra para la escritura ( opcode etc)
fm25256_wr_data ( chip , domi , u ) ; // escribo en el chip , memoria y dato ( u )
if ( u == 0xf8 ) goto aqui ; // si coincide con fin de archivo....
}
}
aqui:
///////////////////////// recorro y hago el print de la lectura//////////////////////////////////
domi = 0 ; chip = 0 ; u = 0 ;
for ( chip = 0 ; chip < 7 ; chip++ )
{
for ( domi = 0 ; domi < 32000 ; domi++ )
{
u = fm25256_rd_data ( chip , domi ) ;
printf ( "leo en chip:%u memoria:%lu dato:%0x\r\n" , chip , domi , u ) ;
if ( u == 0xf8 ) goto fin ;
}
}
fin:;
}
}