Eine Warnung bekomme ich damit nicht:
1 |
|
2 | uint8_t data8[] = {0x12,0x34};
|
3 | uint16_t data16[] = {0x5678,0x9ABC};
|
1 | // SPI 8bit
|
2 | hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
|
3 | if (HAL_SPI_Init(&hspi1) != HAL_OK)
|
4 | {
|
5 | Error_Handler();
|
6 | }
|
7 | HAL_GPIO_WritePin(SPI1_CS_GPIO_Port,SPI1_CS_Pin,GPIO_PIN_RESET);
|
8 | HAL_SPI_Transmit(&hspi1,data8,2,100);
|
9 | HAL_GPIO_WritePin(SPI1_CS_GPIO_Port,SPI1_CS_Pin,GPIO_PIN_SET);
|
10 |
|
11 | // SPI 16bit
|
12 | hspi1.Init.DataSize = SPI_DATASIZE_16BIT;
|
13 | if (HAL_SPI_Init(&hspi1) != HAL_OK)
|
14 | {
|
15 | Error_Handler();
|
16 | }
|
17 | HAL_GPIO_WritePin(SPI1_CS_GPIO_Port,SPI1_CS_Pin,GPIO_PIN_RESET);
|
18 | HAL_SPI_Transmit(&hspi1,(uint8_t *)data16,2,100);
|
19 | HAL_GPIO_WritePin(SPI1_CS_GPIO_Port,SPI1_CS_Pin,GPIO_PIN_SET);
|
Erst werden 2 8bit und dann 2 16bit Werte aus dem jeweiligen Array
gesendet.
Siehe Bild.