STM32存储数据是小端字节序存储,标准库函数下会默认拷贝数据时由高地址向低地址拷贝,程序1为正序拷贝函数。
void mymemcpy(void *dst, const void *src, int n)
{
char *pdst=(char *)dst;
char *psrc=(char *)src+n-1;
while(n--)
{
*pdst++=*psrc--;
}
}
STM32存储数据是小端字节序存储,以下两个函数可以分别实现整型和短整型的高低字节互换。
unsigned int myint(unsigned int a)
{
unsigned int d,x,y;
x=a<<16>>24<<16;
y=a>>24;
d=a<<8>>24<<8;
a=a<<24;
a=a|x|y|d;
return a;
}
unsigned short myshort(unsigned short a)
{
unsigned short x;
unsigned short y;
x=a<<8;
y=a>>8;
a=x|y;
return a;
}
由于本作者水平有限,程序代码仅供参考。