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

判断处理器是大端还是小端_网络字节序是大端还是小端最近用杰理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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JSONObject获取JSONArray转JSONObject获取某个属性值

    JSONObject获取JSONArray转JSONObject获取某个属性值StringhttpPost4Instream=http.httpPost4InstreamJSONObjectjsonbject=JSONObject.fromObject(httpPost4Instream);JSONArrayjsonArray=jsonbject.getJSONArray("stores");Stringstring=jsonArray.get…

    2022年6月7日
    81
  • win10下CUDA10 CUDNN的安装

    win10下CUDA10 CUDNN的安装

    2021年3月12日
    137
  • java二维数组初始化为0_怎样把java二维数组初始化为0

    java二维数组初始化为0_怎样把java二维数组初始化为0展开全部新new出来的二维数组就是已经初始为0了,或者利62616964757a686964616fe58685e5aeb931333337623462用循环依次赋值0;例如:publicclassMain{publicstaticvoidmain(String[]args){inta[][]=newint[5][5];for(inti=0;i<5;i++){for…

    2022年5月25日
    88
  • pycharm哪个版本_pycharm版本选择

    pycharm哪个版本_pycharm版本选择Pycharm各大版本Pycharm作为python最常见的IDE,常见的有三种版本专业版:功能强大,适合开发者,需要通过付费或学生认证才能使用社区版:可以供广大python爱好者免费使用,具备常用的python库,可以实现基本的python用法,用于试验在工作中出现的错误教育版:基于社区版发展而来,也是免费使用,其功能与社区版相似,但是更适合学生,新人学习,由教师可以创建工程、教学…

    2022年8月28日
    2
  • Ubuntu如何卸载软件_ubuntu卸载桌面

    Ubuntu如何卸载软件_ubuntu卸载桌面ubuntu卸载软件方法

    2022年10月5日
    4
  • TS流批量下载工具

    TS流批量下载工具工具目录下有3个文件ffmpeg.exe:主要用来处理TS文件转为PM4文件用到,可以自行到相关网站下载http://ffmpeg.org/OnlineFilm.exe 主要执行程序FilesDownLoad.dll下载模块 新建   新建TS文件的索引文件,*.M3u8,怎么获取,参照“Ts文件说明”。M3U8文件如果是本地的文件,需要填写通用地址。…

    2022年7月18日
    58

发表回复

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

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