【发布时间】:2013-07-11 22:00:09
【问题描述】:
我有一个指针,它被传递给这样的函数:
unsigned char globalvar;
int functionexp(unsigned char *buff){
globalvar = buff;
//start interrupt
//wait for end of interrupt
//pass original pointer back with updated results
}
void __attribute__((interrupt, no_auto_psv)) _DMA2Interrupt(void) {
globalvar = somedata;
}
我有一个中断,它收集我需要传递给所述指针的数据。我想要做的是创建一个全局虚拟变量并将原始指针(bufF)地址复制到这个全局变量中,所以当我将数据写入可以在中断中访问的全局变量时(因为我无法传递原始指向中断的指针)它还会更新原始指针中的值。
我的示例显示了我想要做的基础,但没有指针语法。有人可以告诉我如何做到这一点,拜托!
【问题讨论】:
-
是指针和
int在你的平台上的大小相同(也许我的问题很愚蠢,但不得不问)。 -
是的,对不起。这个例子写得很快,只是为了展示我想要做什么。
-
@ritchie888
globalvar = buff;应该如何工作?为什么不是指针。 -
不是。正如我所说,这不是真正的代码,只是为了理解我想要实现的目标。我在问如何为我的原始指针创建一个全局变量“克隆”,因此通过更改全局变量我也更改了原始指针。
标签: c variables pointers global