Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

Level 5
Level 5
10 likes received 250 replies posted 100 replies posted

 I am having a bit of trouble calling PutArray.


My data buffer is an element in a struct and it has type    uint8  Buf[];


When I call  COM_PutArray(COM.Buf,NumBytes);


I get warning it is wanting type const uint8 passed. I am not sure what I need to do here as I don't think it makes sense to cast as a "const" ?


I am wanting a blocking function so program waits will last btyre sent before progressing.



1 Reply
Level 10
Level 10
First like given 50 questions asked 10 questions asked

The typecast to const will not swallow any additional instructions to perform, but could advise the optimizer to save some. It ensures that the parameter will not be changed by the called function.




Another point is "blocking": PutArray() does not wait until the bytes are transmitted, it only waits for room in the buffer to have the bytes copied. So when the function returns the transmition is still active driven by interrupt.