У меня есть указатель который передается в функцию, как так:Передача адресный указатель на глобальную переменную
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) в эту глобальную переменную, поэтому, когда я записываю данные в глобальную переменную, к которой я могу получить доступ в прерывании (поскольку я не могу передать оригинал указатель на прерывание), он также обновляет значения в исходном указателе.
В моем примере показана основа того, что я хочу сделать, но без синтаксиса указателя. Может кто-нибудь, пожалуйста, покажите мне, как это сделать, пожалуйста!
ли указатели и 'ИНТ 'того же размера на вашей платформе (возможно, тупой вопрос с моей стороны, но должен был спросить). – WhozCraig
Да, извините. Пример был быстро написан, чтобы показать, что я пытаюсь сделать. – ritchie888
@ ritchie888 Как работает 'globalvar = buff? '? Почему бы не указатель. –