cancel
Showing results for 
Search instead for 
Did you mean: 

Why USB Virtual Com Device miss Empty Byte?

ABask.1
Associate II

I have created project USB Virtual Com Device on STM 32F407. I set size of parcel = 32 byte. When i send parcel and befor parcel ends byte will be "0" STM 32 don't read bytes after "0". If no "0" byte always is OK. What doe's it mean? How get full parcel with "0" bytes inside parcel?

0693W00000WItotQAD.png 

0693W00000WItp3QAD.png

1 ACCEPTED SOLUTION

Accepted Solutions
Pavel A.
Evangelist III

On your screenshot, line 285: is this a strncpy?

Do not use string functions on raw (binary) data.

View solution in original post

6 REPLIES 6
AScha.3
Chief II

 "0" is "end of string" sign in C.

so if data is a string of characters, NULL is signal for end of string ( and transmission).

If you feel a post has answered your question, please click "Accept as Solution".
ABask.1
Associate II

That is, it turns out that I cannot send the DEC array = {1, 10, 0, 0, 0, 75, 255, 117 , 256, 128}.

Will I have to reformat the array to a char? So this will increase the size of my package. How then to define "0"?

That is, it turns out that I cannot send the DEC array = {1, 10, 0, 0, 0, 75, 255, 117 , 256, 128}.

Will I have to reformat the array to a char? So this will increase the size of my package. How then to define "0"?

AScha.3
Chief II

why not send data as ascii ? so 0x0 -> 0x30 ;

If you feel a post has answered your question, please click "Accept as Solution".
Pavel A.
Evangelist III

On your screenshot, line 285: is this a strncpy?

Do not use string functions on raw (binary) data.

memcpy solved the problem, thanks a lot