小端字节序下数据存储函数改写

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;
}

由于本作者水平有限,程序代码仅供参考。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值