TI中文支持网
TI专业的中文技术问题搜集分享网站

非4字节对齐地址的数据访问

老师您好!

我在C6701中需要对用一个unsigned int型指针指向一个非4字节对齐的地址进行操作,但是这回造成取数据错误,请问如何解决:

如:内存地址0x1000开始的数据为11, 22, 33, 44, 55, 66, 77, 88, 99,,,,,unsigned int *ptr=(unsigned int*)0x1002,则*ptr 输出0x44332211,实际上我需要0x66554433。

由于我的数据是从外部接收的数据,无法对其对齐方式进行要求,想请教一下老师有没有什么C编译指令可以让结果正确的,我的程序里很多地方都要这样访问,无法一一修改。

Hong Lan:

试试下列语句?

x=_mem4(ptr);  //将ptr指向的内容赋给x,ptr不要求4字节对齐

Hong Lan:

回复 Hong Lan:

注意需要引用外部头文件,一般是

#include<c6x.h>

这个文件一般在code generation tools的目录下的include子目录内

赞(0)
未经允许不得转载:TI中文支持网 » 非4字节对齐地址的数据访问
分享到: 更多 (0)