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

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


相关推荐

  • 谷歌离线地图开发_谷歌实时在线街景地图

    谷歌离线地图开发_谷歌实时在线街景地图离线地图开发主要有两部分组成:1、获取离线地图数据;因为离线地图一般都是局域网,所以需要离线地图数据放在内网中使用;2、离线地图服务器搭建以及二次开发接口提供,离线地图是一种服务,就像我们Apache提供的WEB服务器一样,他是一种准们的地图服务:提供了包括WEB服务、TMS服务、WMTS服务等等。离线地图数据的获取:可以通过【大地图下载器】下载到。要进…

    2026年2月3日
    9
  • http数据协商

    http数据协商

    2021年6月13日
    115
  • javascript页面刷新的几种方法[通俗易懂]

    javascript页面刷新的几种方法[通俗易懂]javascript页面刷新的几种方法javascriptrefreshpage几种页面刷新的方法window.location.reload(),window.history.go(0)和document.execCommand(”Refresh”),这三个方法是最快速的。其他的都有明显的浏览器滚动条的出现。Javascript刷新页面的几种方法: 1

    2022年7月18日
    88
  • linux export添加环境变量_查看环境变量linux

    linux export添加环境变量_查看环境变量linux环境变量定义:Itsanamedobjectthatcanbeusedbymultipleapplicationsasitcontainssomevaluableinformationrequiredbytheseapplications环境变量时一个具有特定名字的对象,包含了一个或多个应用程序要用到的信息.可通俗理解为,假如一个工厂里有一大堆的工具

    2025年8月31日
    7
  • Redhat的yum配置步骤

    Redhat的yum配置步骤Redhat的yum配置RedhatLinux是免费的操作系统,但是里面的yum服务是收费的,有的时候我们安装软件必须从yum上面安装。虽然Redhat的yum是收费的,但我们可以使用CentOS

    2022年7月4日
    26
  • 解决ModuleNotFoundError: No module named ‘pip‘问题

    解决ModuleNotFoundError: No module named ‘pip‘问题Python学习遇到小问题:ModuleNotFoundError:Nomodulenamed‘pip’今天想要装一下wxPython第三方库来写一下Python的GUI的时候发现cmd窗口下无法执行pip命令,想了想昨晚好像是pip命令行提示了我有新版本可以更新使用,更新之后也不成功,但昨晚没有怎么理会,以为没事,但今早起来一看发现pip命令都用不了了,出现了ModuleNotFoun…

    2022年6月12日
    32

发表回复

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

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