判断处理器是大端还是小端_网络字节序是大端还是小端

判断处理器是大端还是小端_网络字节序是大端还是小端最近用杰理AC6966B调试博通的BK9527U段发射芯片,一直没调通,经过测试IIC通讯是通,硬件还是好的,但是怎么都调不到与接收端成功连接。最后咨询原厂得知提供的demo代码是大端编码模式的MCU代码,如果是小端模式,在部分写寄存器操作的过程中,如果直接传指针数据会反掉。杰理的MCU应该是小端模式,平时写代码用memcpy函数操作指针赋值最后得到的结果都是低位在前。为了进一步验证,网上找了一段代码验证,原理跟memcpy给指针赋值是类似的,最后成功验证到杰理的AC,AD系列都是小端模式:

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

最近用杰理AC6966B调试博通的BK9527 U段发射芯片,一直没调通,经过测试IIC通讯是通,硬件还是好的,但是怎么都调不到与接收端成功连接。

最后咨询原厂得知提供的demo代码是大端编码模式的MCU代码,如果是小端模式,在部分写寄存器操作的过程中,如果直接传指针数据会反掉。

杰理的MCU应该是小端模式,平时写代码用memcpy函数操作指针赋值最后得到的结果都是低位在前。

为了进一步验证,网上找了一段代码验证,原理跟memcpy给指针赋值是类似的,最后成功验证到杰理的AC,AD系列都是小端模式:

typedef enum
{
	LITTLE_ENDIAN,
	BIG_ENDIAN,	
}DISTINGUISH_ENDIAN;

unsigned char little_or_big_endian(void)
{
	int test_int = 0x1234;

	return  ( *((char *)&test_int ) == 0x34 ) ? LITTLE_ENDIAN : BIG_ENDIAN;
}

代码出处:

C语言判断mcu或者cpu的大端小端单片机用_rocketzdsad的博客-CSDN博客见代码判断函数返回值就行原理是用char型指针指向int型数的低地址,强制转换后判断值typedef enum{LITTLE_ENDIAN,BIG_ENDIAN,}DISTINGUISH_ENDIAN;unsigned char little_or_big_endian(void){int test_int = 0x1234;return ( *((char *)&test_int ) == 0x34 ) ? LITTLE_ENDIAN : BIG_ENDIAN判断处理器是大端还是小端_网络字节序是大端还是小端https://blog.csdn.net/rocketzdsad/article/details/115999430

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179132.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 数据结构之最小生成树Prim算法建议收藏

    普里姆算法介绍普里姆(Prim)算法,是用来求加权连通图的最小生成树算法基本思想:对于图G而言,V是所有顶点的集合;现在,设置两个新的集合U和T,其中U用于存放G的最小生成树中的顶点,T存放G的最

    2021年12月19日
    40
  • lvextend resize2fs_resize2fs报错

    lvextend resize2fs_resize2fs报错扩容挂载在系统根目录下的lv时,因为1.进程占用问题导致e2fsck-f/dev/cl/root命令执行失败,2.根目录剩余空间太小导致resize2fs-f/dev/cl/root执行报错:resize2fs:Badmagicnumberinsuper-block当尝试打开/dev/mapper/cl-root时找不到有效的文件系统超级块.通过xfs扩

    2022年10月7日
    0
  • 串口通信-MSComm控件使用详解

    串口通信-MSComm控件使用详解MSComm控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。MSComm控件在串口编程时非常方便,程序员不必去花时间去了解较为复杂的API函数,而且在VC、VB、Delphi等语言中均可使用。 MicrosoftCommunicationsControl(以下简称MSComm)是Microsoft公司提供的简化Windows下串行通信编程的ActiveX控件,它为应用程序提供了通…

    2022年10月30日
    0
  • js如何在前端控制台打印

    在js中右中全局方法可以在控制台console中打印信息:1、console.log(123);2、console.info(456);3、console.warn(666);4、console.error(23333);在浏览器端,按下F12可以打开浏览器的console窗口,查看即可。不同方法展示效果也不同,上图是log()输出的,下图是warn()输出的以及e…

    2022年4月5日
    33
  • MATLAB读取nc文件_如何转换mp3文件格式

    MATLAB读取nc文件_如何转换mp3文件格式因为课题处理30年的降雨和蒸发的遥感资料(.NC格式),而想要在Arcgis中处理要求的是raster格式的,所以需要批量转化为tif文件,所以在此分享自己改编之后的代码,可以简洁明了的实现这个过程:版本:MATLAB_2018bclc;clear;%%批读取NC文件的准备工作datadir=’G:\Global_P_ET\MSWEP_V2.2\’;%指定批量数据所在的文件夹…

    2022年10月23日
    0
  • python读取txt文件,将文件中第一列显示出来「建议收藏」

    python读取txt文件,将文件中第一列显示出来「建议收藏」文件:代码:try:file=open(‘food.txt’,"r")#以读模式打开文件exceptFileNotFoundError:#如果文件不存在,给提示print("fileisnotfound")else:contents=file.readlines()#读取全部行forconten…

    2022年5月7日
    161

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号