mirror of
https://gitee.com/dlmu-cone/tronone-h7-scaffold
synced 2026-07-24 19:37:45 +08:00
ioc changed hard spi tft
This commit is contained in:
@@ -44,12 +44,12 @@ void MX_SPI1_Init(void)
|
|||||||
/* USER CODE END SPI1_Init 1 */
|
/* USER CODE END SPI1_Init 1 */
|
||||||
hspi1.Instance = SPI1;
|
hspi1.Instance = SPI1;
|
||||||
hspi1.Init.Mode = SPI_MODE_MASTER;
|
hspi1.Init.Mode = SPI_MODE_MASTER;
|
||||||
hspi1.Init.Direction = SPI_DIRECTION_2LINES_TXONLY;
|
hspi1.Init.Direction = SPI_DIRECTION_2LINES;
|
||||||
hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
|
hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
|
||||||
hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;
|
hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;
|
||||||
hspi1.Init.CLKPhase = SPI_PHASE_1EDGE;
|
hspi1.Init.CLKPhase = SPI_PHASE_1EDGE;
|
||||||
hspi1.Init.NSS = SPI_NSS_SOFT;
|
hspi1.Init.NSS = SPI_NSS_SOFT;
|
||||||
hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8;
|
hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16;
|
||||||
hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
|
hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
|
||||||
hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
|
hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
|
||||||
hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
|
hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
|
||||||
@@ -149,14 +149,14 @@ void HAL_SPI_MspInit(SPI_HandleTypeDef* spiHandle)
|
|||||||
GPIO_InitStruct.Pin = GPIO_PIN_7;
|
GPIO_InitStruct.Pin = GPIO_PIN_7;
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
||||||
GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
|
GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
|
||||||
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
|
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
|
||||||
|
|
||||||
GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_4;
|
GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_4;
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
||||||
GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
|
GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
|
||||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
|||||||
@@ -653,9 +653,13 @@ PB13.Locked=true
|
|||||||
PB13.Mode=Full_Duplex_Master
|
PB13.Mode=Full_Duplex_Master
|
||||||
PB13.Signal=SPI2_SCK
|
PB13.Signal=SPI2_SCK
|
||||||
PB15.Signal=S_TIM12_CH2
|
PB15.Signal=S_TIM12_CH2
|
||||||
|
PB3(JTDO/TRACESWO).GPIOParameters=GPIO_Speed
|
||||||
|
PB3(JTDO/TRACESWO).GPIO_Speed=GPIO_SPEED_FREQ_HIGH
|
||||||
PB3(JTDO/TRACESWO).Locked=true
|
PB3(JTDO/TRACESWO).Locked=true
|
||||||
PB3(JTDO/TRACESWO).Mode=Full_Duplex_Master
|
PB3(JTDO/TRACESWO).Mode=Full_Duplex_Master
|
||||||
PB3(JTDO/TRACESWO).Signal=SPI1_SCK
|
PB3(JTDO/TRACESWO).Signal=SPI1_SCK
|
||||||
|
PB4(NJTRST).GPIOParameters=GPIO_Speed
|
||||||
|
PB4(NJTRST).GPIO_Speed=GPIO_SPEED_FREQ_HIGH
|
||||||
PB4(NJTRST).Locked=true
|
PB4(NJTRST).Locked=true
|
||||||
PB4(NJTRST).Mode=Full_Duplex_Master
|
PB4(NJTRST).Mode=Full_Duplex_Master
|
||||||
PB4(NJTRST).Signal=SPI1_MISO
|
PB4(NJTRST).Signal=SPI1_MISO
|
||||||
@@ -736,6 +740,8 @@ PD5.Signal=USART2_TX
|
|||||||
PD6.Locked=true
|
PD6.Locked=true
|
||||||
PD6.Mode=Asynchronous
|
PD6.Mode=Asynchronous
|
||||||
PD6.Signal=USART2_RX
|
PD6.Signal=USART2_RX
|
||||||
|
PD7.GPIOParameters=GPIO_Speed
|
||||||
|
PD7.GPIO_Speed=GPIO_SPEED_FREQ_HIGH
|
||||||
PD7.Locked=true
|
PD7.Locked=true
|
||||||
PD7.Mode=Full_Duplex_Master
|
PD7.Mode=Full_Duplex_Master
|
||||||
PD7.Signal=SPI1_MOSI
|
PD7.Signal=SPI1_MOSI
|
||||||
@@ -914,11 +920,11 @@ SH.S_TIM3_CH4.ConfNb=1
|
|||||||
SH.SharedStack_PC12.0=SPI3_MOSI
|
SH.SharedStack_PC12.0=SPI3_MOSI
|
||||||
SH.SharedStack_PC12.1=UART5_TX,Asynchronous
|
SH.SharedStack_PC12.1=UART5_TX,Asynchronous
|
||||||
SH.SharedStack_PC12.ConfNb=2
|
SH.SharedStack_PC12.ConfNb=2
|
||||||
SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_8
|
SPI1.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_16
|
||||||
SPI1.CLKPolarity=SPI_POLARITY_LOW
|
SPI1.CLKPolarity=SPI_POLARITY_LOW
|
||||||
SPI1.CalculateBaudRate=15.0 MBits/s
|
SPI1.CalculateBaudRate=7.5 MBits/s
|
||||||
SPI1.DataSize=SPI_DATASIZE_8BIT
|
SPI1.DataSize=SPI_DATASIZE_8BIT
|
||||||
SPI1.Direction=SPI_DIRECTION_2LINES_TXONLY
|
SPI1.Direction=SPI_DIRECTION_2LINES
|
||||||
SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,DataSize,BaudRatePrescaler,CLKPolarity
|
SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,DataSize,BaudRatePrescaler,CLKPolarity
|
||||||
SPI1.Mode=SPI_MODE_MASTER
|
SPI1.Mode=SPI_MODE_MASTER
|
||||||
SPI1.VirtualType=VM_MASTER
|
SPI1.VirtualType=VM_MASTER
|
||||||
|
|||||||
@@ -158,6 +158,18 @@ static void tft_write_bytes(const uint8_t *data, uint32_t len)
|
|||||||
#else
|
#else
|
||||||
while (len > 0U)
|
while (len > 0U)
|
||||||
{
|
{
|
||||||
|
#if TFT_HW_SPI_BYTE_MODE && TFT_HW_SPI_PULSE_CS
|
||||||
|
tft_cs_low();
|
||||||
|
if (HAL_SPI_Transmit(&TFT_SPI_UNIT, (uint8_t *) data, 1U, TFT_SPI_TIMEOUT_MS) != HAL_OK)
|
||||||
|
{
|
||||||
|
tft_transfer_ok = false;
|
||||||
|
tft_cs_high();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
tft_cs_high();
|
||||||
|
data++;
|
||||||
|
len--;
|
||||||
|
#else
|
||||||
#if TFT_HW_SPI_BYTE_MODE
|
#if TFT_HW_SPI_BYTE_MODE
|
||||||
uint16_t chunk = 1U;
|
uint16_t chunk = 1U;
|
||||||
#else
|
#else
|
||||||
@@ -171,6 +183,7 @@ static void tft_write_bytes(const uint8_t *data, uint32_t len)
|
|||||||
}
|
}
|
||||||
data += chunk;
|
data += chunk;
|
||||||
len -= chunk;
|
len -= chunk;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,8 +11,9 @@ extern "C" {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define TFT_USE_HORIZONTAL 2U
|
#define TFT_USE_HORIZONTAL 2U
|
||||||
#define TFT_USE_SOFT_SPI 1U
|
#define TFT_USE_SOFT_SPI 0U
|
||||||
#define TFT_HW_SPI_BYTE_MODE 1U
|
#define TFT_HW_SPI_BYTE_MODE 1U
|
||||||
|
#define TFT_HW_SPI_PULSE_CS 1U
|
||||||
|
|
||||||
#if (TFT_USE_HORIZONTAL == 0U) || (TFT_USE_HORIZONTAL == 1U)
|
#if (TFT_USE_HORIZONTAL == 0U) || (TFT_USE_HORIZONTAL == 1U)
|
||||||
#define TFT_LCD_W 240U
|
#define TFT_LCD_W 240U
|
||||||
|
|||||||
Reference in New Issue
Block a user