Как передать указатель на строку в циклическом буфере uint16_t в c? - PullRequest
1 голос
/ 09 января 2020

У меня полнофункциональный циклический буфер uint16_t (для 16-битной машины). Я хочу запастись строкой. Используемые функции:

void bufCirPut(buf_c_gest cbuf, uint16_t data); //put data, first argument is a pointer to circular buffer
int bufCirGet(buf_c_gest cbuf, uint16_t * data); //Retrieve data

На данный момент я попытался

char data1[10]="hello";
char *p_data1= &data1;
bufCirPut(buf_c_test, p_data1);
uint16_t donnee1;
bufCirGet(buf_c_test, &donnee1);
printf("%u\n ", donnee1);

Я получаю адрес памяти (я думаю, это как 220, 230,216 ...), как go назад в строку, пожалуйста?

РЕДАКТИРОВАТЬ: цель буфера состоит в том, чтобы датчик заполнял буфер строкой, а другие устройства считывали буфер для информации. Эти буферы также будут использоваться для передачи uint16_t между fla sh хранилищами. Поэтому я пытаюсь найти уникальное решение для обоих случаев использования.

...