Hi all,
Having a few probs with Queues at the moment, silly ones now doubt.
I’m running IAR version 4 with Sam7x256.
The problem i’m having is the compiler doesnt know what xQueueHandle is, theres two in the queue.c/.h.
one is "typedef xQUEUE * xQueueHandle;"
the other is "typedef void * xQueueHandle;"
and i get the following, plus others
Warning[w6]: Type conflict for external/entry "xQueueCreate", in module CanControl against external/entry in module queue; function return types are different; different basic types
You can modify queue.c to eliminate the warning AND preserve the data hiding.
Change queue.c so that it #includes queue.h. Now all the queue functions use the same typedef that your client code does (xQueueHandle is void*).
Change the typedef in queue.c to something like:
typedef xQUEUE xRealQueueHandle;
Now change all of the functions in queue.c that take an xQueueHandle parameter or return an xQueueHandle and cast the void pointer to xRealQueueHandle.