We strongly encourage users to use Package manager for sharing their code on Libstock website, because it boosts your efficiency and leaves the end user with no room for error. [more info]
posted on 2013/04/11 11:32:38 AM CEST
Hello,
I want to use FAT32 library (download libstock PIC32) but visual tft supported fat16 library.(not FAT32) What do I need to change? and or visual tft supports fat32
please help me?
how to use global definations (fat 16)
// MMC/SD Connections
sbit Mmc_Chip_Select at LATD12_bit;
sbit Mmc_Chip_Select_Direction at TRISD12_bit;
// end of MMC/SD
// TFT Get Data globals
char Ext_Data_Buffer[512];
unsigned long currentSector = -1, res_file_size;
// end of TFT Get Data
void Init_Ext_Mem() {
//--- set up SPI for the file read
PPS_Mapping(104, _OUTPUT, _SDO3);
PPS_Mapping(98, _INPUT, _SDI3);
PPS_Mapping(79, _OUTPUT, _SCK3OUT);
// Initialize SPI
SPI3_Init_Advanced(_SPI_MASTER, _SPI_8_BIT, _SPI_PRESCALE_SEC_4, _SPI_PRESCALE_PRI_16,
_SPI_SS_DISABLE, _SPI_DATA_SAMPLE_END, _SPI_CLK_IDLE_HIGH, _SPI_ACTIVE_2_IDLE);
Delay_ms(10);
// Initialize MMC
if (!Mmc_Fat_Init()) {
// Reinitialize SPI at higher speed
SPI3_Init_Advanced(_SPI_MASTER, _SPI_8_BIT, _SPI_PRESCALE_SEC_2, _SPI_PRESCALE_PRI_16,
_SPI_SS_DISABLE, _SPI_DATA_SAMPLE_END, _SPI_CLK_IDLE_HIGH, _SPI_ACTIVE_2_IDLE);
// Open resource file for read
Mmc_Fat_Assign("%FILE_NAME", 0);
Mmc_Fat_Reset(&res_file_size);
}
}
char* TFT_Get_Data(unsigned long offset, unsigned int count, unsigned int *num) {
unsigned long start_sector;
unsigned int pos;
start_sector = Mmc_Get_File_Write_Sector() + offset/512;
pos = (unsigned long)offset%512;
if(start_sector == currentSector+1) {
Mmc_Multi_Read_Sector(Ext_Data_Buffer);
currentSector = start_sector;
} else if (start_sector != currentSector) {
if(currentSector != -1)
Mmc_Multi_Read_Stop();
Mmc_Multi_Read_Start(start_sector);
Mmc_Multi_Read_Sector(Ext_Data_Buffer);
currentSector = start_sector;
}
if(count>512-pos)
*num = 512-pos;
else
*num = count;
return Ext_Data_Buffer+pos;
}