cancel
Showing results for 
Search instead for 
Did you mean: 

CubeMX SPI data size bug?

decalvus
Associate II

In CubeMX when configuring a SPI peripheral I can only choose either 8 or 16 bit, but the STM32G491 reference manual says data size can be from 4 to 16 bit. Is this a bug in CubeMX?
(using the newest CubeMX version)

1 ACCEPTED SOLUTION

Accepted Solutions
AScha.3
Super User

STM32G491xC   ds :

AScha3_0-1704793551785.png

But in Cube can only select 8 or 16 bits, i can confirm.

Obviously a bug.

@Ghofrane GSOURI , would you report this ?

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

View solution in original post

4 REPLIES 4
Ghofrane GSOURI
ST Employee

Hello @decalvus 

First let me thank you for posting.

The data size selection in SPI is important because it determines the resolution and range of values that can be transmitted in a single communication transaction. Here's an explanation of the different data size options:

1- 4-bit data size: With a 4-bit data size, each data element transferred during an SPI transaction is represented using 4 bits. This allows for a range of values from 0 to 15 (2^4 - 1). A 4-bit data size is less common but can be useful in certain applications where limited precision is required, or when the transmitted data is compact and can be represented within a small range.

2- 8-bit data size: An 8-bit data size is the most common option in SPI. Each data element is represented using 8 bits, allowing for a range of values from 0 to 255 (2^8 - 1). This is typically sufficient for most applications and provides a good balance between precision and data size.

3- 16-bit data size: A 16-bit data size allows for even larger values to be transmitted. Each data element is represented using 16 bits, providing a range of values from 0 to 65,535 (2^16 - 1). This data size option is useful when dealing with larger data values or when higher precision is required.

Indeed, for most applications, the 8-bit and 16-bit data sizes in SPI are sufficient and cover the majority of use cases. The 8-bit data size provides a good balance of precision and data size, while the 16-bit data size offers a wider range of values and higher precision and that's why CubeMX offer those two options .

Thx

Ghofrane

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

AScha.3
Super User

STM32G491xC   ds :

AScha3_0-1704793551785.png

But in Cube can only select 8 or 16 bits, i can confirm.

Obviously a bug.

@Ghofrane GSOURI , would you report this ?

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

Hello @decalvus and @AScha.3 

Thank you for your contributions and for your detailed explanations,

I confirm the issue on my side, it has been reported to STM32CubeMX development team .

 

Internal ticket number: 170304(This is an internal tracking number and is not accessible or usable by customers).

 

I will keep you posted with update

 

Ghofrane

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hi Ghofrane

Thanks for helping.

Did you acknowledge it as a ‘bug’ in CubeMX?  (I’m a bit unsure since you replied “and that's why CubeMX offer those two options”)

Also, the datasheet mentions the range is from 4 to 16 bits (4,5,6…16), not only 4, 8 or 16 bits.