• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

判断单片机大小端模式的方法

donatello 2017-11-08 浏览量:1206

      判断大小端模式,在PC机上使用的方法比较简单,取一个32位的int数a,让一个char型指针c指向a的地址,直接获取两个相邻的地址c[0]和c[1]的值就能判断出来:
int main()
{
    int a=0x12345678;
    char *c=&a;
    printf("%x %x %x",a,c[0],c[1]);
}
可是单片机不能用这个方法判断,因为单片机是不允许让一个char型的指针指向一个int数的,请问,单片机要判断大小端模式,要用什么方法呢?

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 建一个共同体,放一个32位数据,0x12345678,然后看看哪个在前,哪个在后,

    即有可能是 0x12 0x34 0x56 0xx78 

    或是

    0x78 0x56 0x34 0x12

    • 发布于 2017-11-08
    • 举报
    • 评论 2
    • 0
    • 0
电子老工程师 回复了 :1、制造商 Littelfuse Inc. 制造商零件编号 DSTF30100S 描述 DIODE SCHOTTKY 30A 100V ITO220AB 2、制造商 Vishay Semiconductor Diodes Division 制造商零件编号 VF20100S-E3/4W 描述 DIODE SCHOTTKY 100V 20A ITO220AB 回复
电子老工程师 回复了 :封装: ITO-220AB 品牌: LITEON(台湾敦南) 型号: G30E100CTFW 没有安森美的 回复

其他答案 数量:6
  • debug模式下,看下变量的内存地址就可以吧
    • 发布于2017-11-08
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :区别如下 L:卷装引脚方向向左 H":符合汽车级认证 TR :卷装 回复

  • CM3这个内核是大小端可配置的:
    The processor contains a configuration pin, BIGEND, that enables you to select either
    the little-endian or BE-8 big-endian format. This configuration pin is sampled on reset.
    You cannot change endianness when out of reset.
    STM32是固定配置为小端的:RM0008 Reference manual
    The bytes are coded in memory in Little Endian format. The lowest numbered byte in a word is considered the word’s least significant byte and the highest numbered byte the most significant.
    • 发布于2017-11-08
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :同一颗料 回复

  • 使用char *c = (char *)&a;类型转换一下试试。

    然后取下一个内存就 *c = *((char *)&a +1)

    • 发布于2017-11-08
    • 举报
    • 评论 0
    • 0
    • 0

  • http://blog.csdn.net/qq_35409955/article/details/73557444,参考这个看下。楼上2位说的也行。
    • 发布于2017-11-09
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :https://www.infineon.com/dgdl/bsp50_bsp51_bsp52.pdf?fileId=db3a30431441fb5d011445dd10f90189 回复

  • 这个在芯片手册上应该是有的吧。

    一般的STM32应该是小端的

    • 发布于2017-11-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 最简单的方法,

    看STM32的RM.

    • 发布于2017-11-17
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :H/M是代表修订号,链接是规格书 https://media-www.micron.com/-/media/client/global/documents/products/data-sheet/dram/ddr2/1gb_ddr2.pdf?rev=854b480189b84d558d466bc18efe270c 回复

相关问题

问题达人换一批

判断单片机大小端模式的方法