Проблем с имплементация на Ring Buffer
Здравейте,
Опитвам се да имплементирам прост ring buffer в MPLAB XC32, но кодът нещо се дъни. Моля, за помощ!!!
Пробвах го в Code Blocks и всичко си работи без проблем, но MPLAB нещо не го харесва. Всъщност кода се компилира без грешка, но при дебъг в симулатора се случват следните проблеми.
1. При извикване на функцията
ringbuf_init ме препраща към някакви асемлерски инструкции, файл crt0.S (вижда се на скрийншота). След продължително натискане на Step Into (F7), ме връща към началото на програмата.
2. Ако не извикам функцията
ringbuf_init, а директно извикам
ringbuf_put() (функция, която пълни буфера), този път асемблерските инструкции (crt0.S) не изскачат, но забелязвам, че на мястото на параметъра item, не влиза стойността, която съм подал (както се вижда от кода, подавам по стойност).