当前位置:网站首页>Fatfs (X): lire et écrire plusieurs octets (mots)

Fatfs (X): lire et écrire plusieurs octets (mots)

2022-06-09 00:39:00 Kafen Wong


/*-----------------------------------------------------------------------*/                    
/* In FATDans la structure Écris./Lire Mots Multi - octets*/
/*-----------------------------------------------------------------------*/

//Écris(Priorité basse)
static WORD ld_word (const BYTE* ptr)
{
    
	WORD rv;
	rv = ptr[1];
	rv = rv << 8 | ptr[0];
	return rv;
}

//Écris deux mots(Priorité basse)
static DWORD ld_dword (const BYTE* ptr)
{
    
	DWORD rv;
	rv = ptr[3];
	rv = rv << 8 | ptr[2];
	rv = rv << 8 | ptr[1];
	rv = rv << 8 | ptr[0];
	return rv;
}


#if _FS_EXFAT

//Écris quatre mots.(Priorité basse)
static QWORD ld_qword (const BYTE* ptr)
{
    
	QWORD rv;
	rv = ptr[7];
	rv = rv << 8 | ptr[6];
	rv = rv << 8 | ptr[5];
	rv = rv << 8 | ptr[4];
	rv = rv << 8 | ptr[3];
	rv = rv << 8 | ptr[2];
	rv = rv << 8 | ptr[1];
	rv = rv << 8 | ptr[0];
	return rv;
}
#endif


#if !_FS_READONLY

// Stocker les mots (Priorité basse)
static
void st_word (BYTE* ptr, WORD val)
{
    
	*ptr++ = (BYTE)val; val >>= 8;
	*ptr++ = (BYTE)val;
}

// Stocker des mots doubles (Priorité basse)
static void st_dword (BYTE* ptr, DWORD val)
{
    
	*ptr++ = (BYTE)val; val >>= 8;
	*ptr++ = (BYTE)val; val >>= 8;
	*ptr++ = (BYTE)val; val >>= 8;
	*ptr++ = (BYTE)val;
}

#if _FS_EXFAT
static

// Stocker quatre mots (Priorité basse)
void st_qword (BYTE* ptr, QWORD val)
{
    
	*ptr++ = (BYTE)val; val >>= 8;
	*ptr++ = (BYTE)val; val >>= 8;
	*ptr++ = (BYTE)val; val >>= 8;
	*ptr++ = (BYTE)val; val >>= 8;
	*ptr++ = (BYTE)val; val >>= 8;
	*ptr++ = (BYTE)val; val >>= 8;
	*ptr++ = (BYTE)val; val >>= 8;
	*ptr++ = (BYTE)val;
}
#endif
#endif /* !_FS_READONLY */
原网站

版权声明
本文为[Kafen Wong]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/160/202206090038164194.html