error Transceiver_ControlarPaquete(void){ byte k; if(nro_sec != Buffer_Rx[2]){ nro_sec=Buffer_Rx[2]; if(Buffer_Rx[1]==0x01){ timer_turno=0; return _ERR_OK; } if(Transceiver_ControlarDato() != _ERR_OK) return _ERR_ACK; Buffer_Escritura[index_fil][0]=Buffer_Rx[0];// GUARDAMOS EL ID for(k=3;k<tam_paquete-1;k++)// copiamos los datos controlados al buffer para q se escriba una vez lleno Buffer_Escritura[index_fil][k-2]=Buffer_Rx[k]; index_fil++; if(index_fil>=cantidad_datos){ index_fil=0; (void)SD_Escribir(dir_escritura,Buffer_Escritura); // cuando esto ocurre se desabilitan (void)SD_CalculaDireccion(dir_escritura,Buffer_Escritura); LED_BrillarR(2,300); LED_BrillarV(2,300); } }//cierra el if de nro sec return _ERR_OK; }
error SD_Leer(byte *direccion, dato lectura[][tam_dato]){ UINT32 u32SD_Block; // Convertimos la direccion en una variable de 32 bits SPI_Init(); u32SD_Block = direccion[0]; u32SD_Block <<= 8; u32SD_Block |= direccion[1]; u32SD_Block <<= 8; u32SD_Block |= direccion[2]; u32SD_Block <<= 8; u32SD_Block |= direccion[3]; (void) SD_CalculaDireccion(dir_lectura, lectura); (void) SD_ReadSector(u32SD_Block,(UINT8 *) lectura); (void)Cpu_Delay100US(100); //ban_bufferTx=0; return _ERR_OK; }