指针指向XDATA的变量需要注意哪些东西

2020-01-13 18:23发布

   我现在有一个程序,在通讯频繁的时候就会出现xdata全部错了,xdata变量只有和指针有关联,对于这种指针将xdata数据搞错的情况,大家有遇到过吗? 望指点!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
bobo89
1楼-- · 2020-01-13 20:34
定义的指针是什么类型的?
dz46316740
2楼-- · 2020-01-13 23:50
信息太少,帮不了你
dhw5qq
3楼-- · 2020-01-14 04:15
dz46316740 发表于 2016-5-30 21:53
信息太少,帮不了你

比如这样:
unsigned char *dptr; //局部的指针
xdata unsigned char txd_asc[125];//全局的变量
xdata unsigned char voltage_cell[10];//全局
dptr=txd_asc+10;
*dptr++=voltage_cell[0];
*dptr++=voltage_cell[1];
*dptr++=voltage_cell[2];

现在就是在正常情况下不会出现任何异常
主要是在频繁操作后,voltage_cell和txd_asc就会出现数据错乱!
ywlzh
4楼-- · 2020-01-14 04:20
会不会是中断打断你的这些操作?
dgtg
5楼-- · 2020-01-14 08:23
 精彩回答 2  元偷偷看……
dz46316740
6楼-- · 2020-01-14 10:58
dhw5qq 发表于 2016-5-30 22:25
比如这样:
unsigned char *dptr; //局部的指针
xdata unsigned char txd_asc[125];//全局的变量

unsigned char *dptr;
可以将其定义成全局的试试。怀疑的是堆栈溢出。

一周热门 更多>