dhw5qq 发表于 2016-5-30 18:21:45

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

   我现在有一个程序,在通讯频繁的时候就会出现xdata全部错了,xdata变量只有和指针有关联,对于这种指针将xdata数据搞错的情况,大家有遇到过吗? 望指点!

bobo89 发表于 2016-5-30 21:03:07

定义的指针是什么类型的?

dz46316740 发表于 2016-5-30 21:53:37

信息太少,帮不了你

dhw5qq 发表于 2016-5-30 22:25:54

dz46316740 发表于 2016-5-30 21:53
信息太少,帮不了你

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

现在就是在正常情况下不会出现任何异常
主要是在频繁操作后,voltage_cell和txd_asc就会出现数据错乱!

ywlzh 发表于 2016-5-31 14:38:03

会不会是中断打断你的这些操作?

dgtg 发表于 2016-5-31 18:49:32

哪一家的51 ?

dz46316740 发表于 2016-5-31 21:47:58

dhw5qq 发表于 2016-5-30 22:25
比如这样:
unsigned char *dptr; //局部的指针
xdata unsigned char txd_asc;//全局的变量


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

dhw5qq 发表于 2016-5-31 23:23:35

dgtg 发表于 2016-5-31 18:49
哪一家的51 ?

SH88F系列的单片机

yanyanyan168 发表于 2019-5-8 16:08:21

需要这样 unsigned char xdata *dptr; //局部的指针
页: [1]
查看完整版本: 指针指向XDATA的变量需要注意哪些东西