在stm8,编译器为IAR的环境下,IAP升级程序的指针定义问题。
答案:2 悬赏:40 手机版
解决时间 2021-03-26 20:54
- 提问者网友:嗝是迷路的屁
- 2021-03-26 08:37
在stm8,编译器为IAR的环境下,IAP升级程序的指针定义问题。
最佳答案
- 五星知识达人网友:话散在刀尖上
- 2021-03-26 09:22
DataAddress被定义成近指针,寻指范围不超过64KB,
(u8 NEAR**)表示强制转换成二维指针,即指向指针的指针;
(&DataBuffer[N_ADDR_3])表示取数组DataBuffer的第N_ADDR_3元素的地址;
DataAddress赋值号右边第一个*号,是解指针,对于一个二维指针的解指针,得到的结果仍是指针,是一维指针,赋值给一维指针DataAddress符合类型;
综合起来可以得出,数组DataBuffer的元素存的也是指针,指向最终数据的地址,类型是unsigned char型,对DataAddress解指针,即:
u8 dataValue = 0x00;
dataValue = *DataAddress;
解指针后即可得到数组DataBuffer[N_ADDR_3]中所存地址中的数据;
讲明白 了吧。全手敲啊,累死我了。
(u8 NEAR**)表示强制转换成二维指针,即指向指针的指针;
(&DataBuffer[N_ADDR_3])表示取数组DataBuffer的第N_ADDR_3元素的地址;
DataAddress赋值号右边第一个*号,是解指针,对于一个二维指针的解指针,得到的结果仍是指针,是一维指针,赋值给一维指针DataAddress符合类型;
综合起来可以得出,数组DataBuffer的元素存的也是指针,指向最终数据的地址,类型是unsigned char型,对DataAddress解指针,即:
u8 dataValue = 0x00;
dataValue = *DataAddress;
解指针后即可得到数组DataBuffer[N_ADDR_3]中所存地址中的数据;
讲明白 了吧。全手敲啊,累死我了。
全部回答
- 1楼网友:woshuo
- 2021-03-26 09:52
关注这个问题
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯