The commonly used unsigned 16-bit integer data type is unsigned int, and we usually write uint 16 instead of this type. The premise of this is to redefine the unsigned int type as uint 16.
If you don't redefine it, write it directly as: uint 16 data variable name; Missing';' Will appear. Before' data', change it to the variable name of unsigned int data, and you can do it.
STM generally redefines related structural types in this way, and there are many other structural types that need to be redefined in the header file, such as the following operations in the header file: typedef unsigned intuint16; Redefining unsigned int as uint 16 is equivalent to giving it a new name.
I hope it works for you!