revised spi setting
This commit is contained in:
parent
2f01dcf93c
commit
959cfeec63
|
@ -84,10 +84,12 @@ void Error_Handler(void);
|
|||
#define USARTx_TX_Pin GPIO_PIN_2
|
||||
#define USARTx_TX_GPIO_Port GPIOA
|
||||
|
||||
#define USE_IPS_LCD_ST7789
|
||||
|
||||
/* USER CODE BEGIN Private defines */
|
||||
#define VOLTAGE_DETECT_Pin GPIO_PIN_15
|
||||
#define VOLTAGE_DETECT_GPIO_Port GPIOA
|
||||
|
||||
#if 0
|
||||
//SPI1 ST7789
|
||||
#define LCD_RES_Pin GPIO_PIN_3 //ST7789, Pin-5
|
||||
#define LCD_RES_GPIO_Port GPIOB
|
||||
|
@ -103,7 +105,7 @@ void Error_Handler(void);
|
|||
|
||||
#define LCD_TE_Pin GPIO_PIN_13
|
||||
#define LCD_TE_GPIO_Port GPIOB
|
||||
|
||||
#endif
|
||||
|
||||
#define KEY1_Pin GPIO_PIN_0
|
||||
#define KEY1_GPIO_Port GPIOA
|
||||
|
@ -116,16 +118,16 @@ void Error_Handler(void);
|
|||
#define W25Q_CS_Pin GPIO_PIN_9
|
||||
#define W25Q_CS_GPIO_Port GPIOA
|
||||
|
||||
|
||||
#define LCD_RST_Pin GPIO_PIN_3
|
||||
#define LCD_RST_GPIO_Port GPIOB
|
||||
#define LCD_BL_Pin GPIO_PIN_8
|
||||
#define LCD_BL_GPIO_Port GPIOB
|
||||
#define LCD_CS_Pin GPIO_PIN_10
|
||||
#define LCD_CS_GPIO_Port GPIOB
|
||||
#if defined(USE_IPS_LCD_ST7789)
|
||||
#define LCD_RST_Pin GPIO_PIN_4
|
||||
#define LCD_RST_GPIO_Port GPIOA
|
||||
#define LCD_DC_Pin GPIO_PIN_5
|
||||
#define LCD_DC_GPIO_Port GPIOB
|
||||
|
||||
#define LCD_DC_GPIO_Port GPIOA
|
||||
#define LCD_CS_Pin GPIO_PIN_6
|
||||
#define LCD_CS_GPIO_Port GPIOA
|
||||
#define LCD_BL_Pin GPIO_PIN_7
|
||||
#define LCD_BL_GPIO_Port GPIOA
|
||||
#endif
|
||||
/* USER CODE END Private defines */
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
@ -29,7 +29,8 @@ extern "C" {
|
|||
#include "main.h"
|
||||
|
||||
/* USER CODE BEGIN Includes */
|
||||
|
||||
/*
|
||||
#if 0
|
||||
#if defined(STM32WLE5xx)||defined(STM32WL55xx)
|
||||
#define MEMS_SPI_SCK_Pin GPIO_PIN_5 //GPIO_PIN_3
|
||||
#define MEMS_SPI_SCK_GPIO_Port GPIOA //GPIOB
|
||||
|
@ -45,7 +46,20 @@ extern "C" {
|
|||
#define MEMS_ENABLE_Pin GPIO_PIN_5
|
||||
#define MEMS_ENABLE_GPIO_Port GPIOB
|
||||
#endif
|
||||
|
||||
#endif
|
||||
*/
|
||||
// For SPI LCD display, master transmit only
|
||||
//#if defined(USE_IPS_LCD_ST7789)
|
||||
#define MEMS_SPI_SCK_Pin GPIO_PIN_3
|
||||
#define MEMS_SPI_SCK_GPIO_Port GPIOB
|
||||
#define MEMS_SPI_MOSI_Pin GPIO_PIN_5
|
||||
#define MEMS_SPI_MOSI_GPIO_Port GPIOB
|
||||
//#define MEMS_SENSOR_INTERRUPT_Pin GPIO_PIN_8
|
||||
//#define MEMS_SENSOR_INTERRUPT_GPIO_Port GPIOA
|
||||
//#define MEMS_SENSOR_INTERRUPT_EXTI_IRQn EXTI9_5_IRQn
|
||||
//#define MEMS_ENABLE_Pin GPIO_PIN_5
|
||||
//#define MEMS_ENABLE_GPIO_Port GPIOB
|
||||
//#endif
|
||||
|
||||
/* USER CODE END Includes */
|
||||
|
||||
|
|
|
@ -55,12 +55,12 @@ void MX_GPIO_Init(void)
|
|||
|
||||
/*Configure GPIO pin Output Level */
|
||||
//HAL_GPIO_WritePin(GPIOA, LCD_CS_Pin|LCD_RES_Pin|W25Q_CS_Pin, GPIO_PIN_RESET);
|
||||
HAL_GPIO_WritePin(LCD_RES_GPIO_Port, LCD_RES_Pin, GPIO_PIN_SET);
|
||||
HAL_GPIO_WritePin(LCD_RST_GPIO_Port, LCD_RST_Pin, GPIO_PIN_SET);
|
||||
|
||||
HAL_GPIO_WritePin(LCD_BLK_GPIO_Port, LCD_BLK_Pin, GPIO_PIN_RESET);
|
||||
HAL_GPIO_WritePin(LCD_CS_GPIO_Port, LCD_CS_Pin, GPIO_PIN_RESET);
|
||||
HAL_GPIO_WritePin(LCD_DC_GPIO_Port, LCD_DC_Pin, GPIO_PIN_RESET);
|
||||
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET);
|
||||
HAL_GPIO_WritePin(LCD_BL_GPIO_Port, LCD_BL_Pin, GPIO_PIN_SET);
|
||||
HAL_GPIO_WritePin(LCD_CS_GPIO_Port, LCD_CS_Pin, GPIO_PIN_SET);
|
||||
HAL_GPIO_WritePin(LCD_DC_GPIO_Port, LCD_DC_Pin, GPIO_PIN_SET);
|
||||
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET);
|
||||
|
||||
/*Configure GPIO pin Output Level */
|
||||
//HAL_GPIO_WritePin(GPIOB, LCD_TE_Pin|LCD_DC_Pin|LED_Pin, GPIO_PIN_RESET);
|
||||
|
@ -106,11 +106,11 @@ void MX_GPIO_Init(void)
|
|||
|
||||
|
||||
/*Configure GPIO pins : PBPin PBPin PBPin */
|
||||
GPIO_InitStruct.Pin = LCD_RES_Pin|LCD_BLK_Pin|LCD_DC_Pin;
|
||||
GPIO_InitStruct.Pin = LCD_RST_Pin|LCD_BL_Pin|LCD_DC_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
|
||||
/* EXTI interrupt init*/
|
||||
HAL_NVIC_SetPriority(EXTI0_IRQn, 0, 0);
|
||||
|
|
|
@ -127,28 +127,34 @@ int main(void)
|
|||
/* USER CODE END SysInit */
|
||||
|
||||
/* Initialize all configured peripherals */
|
||||
MX_GPIO_Init();
|
||||
|
||||
MX_LoRaWAN_Init();
|
||||
/* USER CODE BEGIN 2 */
|
||||
//MX_ADC_Init();
|
||||
MX_SPI_Init();
|
||||
MX_GPIO_Init();
|
||||
|
||||
MX_I2C_Init();
|
||||
|
||||
//MX_DMA_Init();
|
||||
APP_LOG(TS_OFF, VLEVEL_L, "START LCD init....\r\n");
|
||||
|
||||
BSP_LCD_Init();
|
||||
MLX90640_I2CInit();
|
||||
mlx90640_display_init();
|
||||
APP_LOG(TS_OFF, VLEVEL_L, "DISPLAY ON....\r\n");
|
||||
BSP_LCD_DisplayOn();
|
||||
BSP_LCD_Clear(LCD_COLOR_YELLOW);
|
||||
APP_LOG(TS_OFF, VLEVEL_L, "WIDTH = %d, HEIGHT =%d \r\n", BSP_LCD_GetXSize(), BSP_LCD_GetYSize());
|
||||
BSP_LCD_DisplayStringAt(45,45,"SmarToilets",LEFT_MODE,LCD_COLOR_BLUE);
|
||||
BSP_LCD_SetRotation(1);
|
||||
APP_LOG(TS_OFF, VLEVEL_L, "WIDTH = %d, HEIGHT =%d \r\n", BSP_LCD_GetXSize(), BSP_LCD_GetYSize());
|
||||
BSP_LCD_DisplayStringAt(45,45,"SmarToilets",LEFT_MODE,LCD_COLOR_RED);
|
||||
APP_LOG(TS_OFF, VLEVEL_L, "DISPLAY LOGO....\r\n");
|
||||
BSP_LCD_DisplayStringAt(45,45,"SmarToilets",LEFT_MODE,LCD_COLOR_BLUE);
|
||||
|
||||
BSP_LCD_Test();
|
||||
|
||||
MLX90640_I2CInit();
|
||||
mlx90640_display_init();
|
||||
APP_LOG(TS_OFF, VLEVEL_L, "DISPLAY ON....\r\n");
|
||||
BSP_LCD_DisplayOn();
|
||||
BSP_LCD_Clear(LCD_COLOR_YELLOW);
|
||||
APP_LOG(TS_OFF, VLEVEL_L, "WIDTH = %d, HEIGHT =%d \r\n", BSP_LCD_GetXSize(), BSP_LCD_GetYSize());
|
||||
BSP_LCD_DisplayStringAt(45,45,"SmarToilets",LEFT_MODE,LCD_COLOR_BLUE);
|
||||
BSP_LCD_SetRotation(1);
|
||||
APP_LOG(TS_OFF, VLEVEL_L, "WIDTH = %d, HEIGHT =%d \r\n", BSP_LCD_GetXSize(), BSP_LCD_GetYSize());
|
||||
BSP_LCD_DisplayStringAt(45,45,"SmarToilets",LEFT_MODE,LCD_COLOR_RED);
|
||||
APP_LOG(TS_OFF, VLEVEL_L, "DISPLAY LOGO....\r\n");
|
||||
BSP_LCD_DisplayStringAt(45,45,"SmarToilets",LEFT_MODE,LCD_COLOR_BLUE);
|
||||
|
||||
while (1)
|
||||
{
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
/* USER CODE END 0 */
|
||||
|
||||
SPI_HandleTypeDef hspi1;
|
||||
//DMA_HandleTypeDef hdma_spi1_rx;
|
||||
//DMA_HandleTypeDef hdma_spi1_tx;
|
||||
DMA_HandleTypeDef hdma_spi1_rx;
|
||||
DMA_HandleTypeDef hdma_spi1_tx;
|
||||
|
||||
/* SPI1 init function */
|
||||
void MX_SPI_Init(void)
|
||||
|
@ -41,16 +41,16 @@ void MX_SPI_Init(void)
|
|||
/* USER CODE END SPI1_Init 1 */
|
||||
hspi1.Instance = SPI1;
|
||||
hspi1.Init.Mode = SPI_MODE_MASTER;
|
||||
hspi1.Init.Direction = SPI_DIRECTION_2LINES;
|
||||
hspi1.Init.Direction = SPI_DIRECTION_1LINE;
|
||||
hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
|
||||
hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;
|
||||
hspi1.Init.CLKPhase = SPI_PHASE_1EDGE;
|
||||
hspi1.Init.CLKPolarity = SPI_POLARITY_HIGH;
|
||||
hspi1.Init.CLKPhase = SPI_PHASE_2EDGE;
|
||||
hspi1.Init.NSS = SPI_NSS_SOFT;
|
||||
hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_4; //SPI_BAUDRATEPRESCALER_64;
|
||||
hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2; //SPI_BAUDRATEPRESCALER_64;
|
||||
hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
|
||||
hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
|
||||
hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
|
||||
hspi1.Init.CRCPolynomial = 10;
|
||||
//hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
|
||||
hspi1.Init.CRCPolynomial = 7;
|
||||
//hspi1.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE;
|
||||
//hspi1.Init.NSSPMode = SPI_NSS_PULSE_ENABLE;
|
||||
if (HAL_SPI_Init(&hspi1) != HAL_OK)
|
||||
|
@ -89,7 +89,7 @@ void HAL_SPI_MspInit(SPI_HandleTypeDef* spiHandle)
|
|||
* PA6 SPI1_MISO
|
||||
* PA7 SPI1_MOSI
|
||||
*/
|
||||
GPIO_InitStruct.Pin = MEMS_SPI_MOSI_Pin||MEMS_SPI_MISO_Pin; //MEMS_SPI_MOSI_Pin|MEMS_CS_N_Pin|MEMS_SPI_MISO_Pin;
|
||||
GPIO_InitStruct.Pin = MEMS_SPI_MOSI_Pin; //MEMS_SPI_MOSI_Pin|MEMS_CS_N_Pin|MEMS_SPI_MISO_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||
|
@ -102,7 +102,7 @@ void HAL_SPI_MspInit(SPI_HandleTypeDef* spiHandle)
|
|||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||
GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
|
||||
HAL_GPIO_Init(MEMS_SPI_SCK_GPIO_Port, &GPIO_InitStruct);
|
||||
#if 0
|
||||
#if 1
|
||||
/* SPI1 DMA Init */
|
||||
/* SPI1_RX Init */
|
||||
hdma_spi1_rx.Instance = DMA1_Channel2;
|
||||
|
@ -174,10 +174,10 @@ void HAL_SPI_MspDeInit(SPI_HandleTypeDef* spiHandle)
|
|||
* PA6 SPI1_MISO
|
||||
* PA7 SPI1_MOSI
|
||||
*/
|
||||
HAL_GPIO_DeInit(MEMS_SPI_MOSI_GPIO_Port, MEMS_SPI_MOSI_Pin|MEMS_SPI_MISO_Pin);
|
||||
HAL_GPIO_DeInit(MEMS_SPI_MOSI_GPIO_Port, MEMS_SPI_MOSI_Pin);
|
||||
|
||||
HAL_GPIO_DeInit(MEMS_SPI_SCK_GPIO_Port, MEMS_SPI_SCK_Pin);
|
||||
#if 0
|
||||
#if 1
|
||||
/* SPI1 DMA DeInit */
|
||||
HAL_DMA_DeInit(spiHandle->hdmarx);
|
||||
HAL_DMA_DeInit(spiHandle->hdmatx);
|
||||
|
|
|
@ -252,7 +252,7 @@ void DMA1_Channel2_IRQHandler(void)
|
|||
/* USER CODE BEGIN DMA1_Channel2_IRQn 0 */
|
||||
|
||||
/* USER CODE END DMA1_Channel2_IRQn 0 */
|
||||
//HAL_DMA_IRQHandler(&hdma_spi1_rx);
|
||||
HAL_DMA_IRQHandler(&hdma_spi1_rx);
|
||||
/* USER CODE BEGIN DMA1_Channel2_IRQn 1 */
|
||||
|
||||
/* USER CODE END DMA1_Channel2_IRQn 1 */
|
||||
|
@ -266,7 +266,7 @@ void DMA1_Channel3_IRQHandler(void)
|
|||
/* USER CODE BEGIN DMA1_Channel3_IRQn 0 */
|
||||
|
||||
/* USER CODE END DMA1_Channel3_IRQn 0 */
|
||||
//HAL_DMA_IRQHandler(&hdma_spi1_tx);
|
||||
HAL_DMA_IRQHandler(&hdma_spi1_tx);
|
||||
/* USER CODE BEGIN DMA1_Channel3_IRQn 1 */
|
||||
|
||||
/* USER CODE END DMA1_Channel3_IRQn 1 */
|
||||
|
@ -286,6 +286,20 @@ void DMA1_Channel5_IRQHandler(void)
|
|||
/* USER CODE END DMA1_Channel5_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles SPI1 Interrupt.
|
||||
*/
|
||||
void SPI1_IRQHandler(void)
|
||||
{
|
||||
/* USER CODE BEGIN SPI1_IRQn 0 */
|
||||
|
||||
/* USER CODE END SPI1_IRQn 0 */
|
||||
HAL_SPI_IRQHandler(&hspi1);
|
||||
/* USER CODE BEGIN SPI1_IRQn 1 */
|
||||
|
||||
/* USER CODE END SPI1_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles EXTI Lines [9:5] Interrupt.
|
||||
*/
|
||||
|
|
|
@ -135,7 +135,7 @@ static void drawMeasurement(void ) {
|
|||
// Measure and print center temperature
|
||||
centerTemp = (tempValues[383 - 16] + tempValues[383 - 15] + tempValues[384 + 15] + tempValues[384 + 16]) / 4;
|
||||
|
||||
BSP_LCD_SetFont(&Font20);
|
||||
BSP_LCD_SetFont(&Font16);
|
||||
memset(tempBuffer,0,sizeof(tempBuffer));
|
||||
sprintf(tempBuffer,(char *)"%2.2f ",centerTemp);
|
||||
BSP_LCD_DisplayStringAt(88,220,(uint8_t *)tempBuffer,LEFT_MODE,LCD_COLOR_RED);
|
||||
|
@ -172,7 +172,7 @@ static void readTempValues(void) {
|
|||
APP_LOG(TS_OFF,VLEVEL_L, "\r\n\n\n");
|
||||
for (uint8_t y=0; y < 24; y++) {
|
||||
for (uint8_t x=0; x<32; x++) {
|
||||
APP_LOG(TS_OFF, VLEVEL_L, "%c ", (uint8_t)((((float)tempValues[y*32+x]- 20.0)) + 0x61));
|
||||
APP_LOG(TS_OFF, VLEVEL_L, "%c ", (uint8_t)((((float)tempValues[y*32+x]- 25.0)) + 0x30));
|
||||
}
|
||||
APP_LOG(TS_OFF,VLEVEL_L, "\r\n");
|
||||
}
|
||||
|
|
|
@ -60,6 +60,7 @@ LCD_DrvTypeDef st7789v_drv =
|
|||
st7789v_GetLcdPixelWidth,
|
||||
st7789v_GetLcdPixelHeight,
|
||||
st7789v_DrawBitmap,
|
||||
0
|
||||
};
|
||||
|
||||
//static uint8_t Is_st7789v_Initialized = 0;
|
||||
|
@ -83,6 +84,18 @@ void st7789v_WriteColor(uint16_t color, uint32_t len);
|
|||
/** @defgroup st7789v_Private_Functions
|
||||
* @{
|
||||
*/
|
||||
/**
|
||||
* @brief Writes to the selected LCD register.
|
||||
* @param LCDReg: Address of the selected register.
|
||||
* @param LCDRegValue: value to write to the selected register.
|
||||
* @retval None
|
||||
*/
|
||||
void st7789v_WriteRegCmd(uint8_t LCDReg)
|
||||
{
|
||||
LCD_DC_LOW();
|
||||
LCD_IO_WriteReg(LCDReg);
|
||||
LCD_DC_HIGH();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Writes to the selected LCD register.
|
||||
|
@ -92,8 +105,10 @@ void st7789v_WriteColor(uint16_t color, uint32_t len);
|
|||
*/
|
||||
void st7789v_WriteReg(uint8_t LCDReg, uint8_t LCDRegValue)
|
||||
{
|
||||
LCD_DC_LOW();
|
||||
LCD_IO_WriteReg(LCDReg);
|
||||
LCD_IO_WriteMultipleData(&LCDRegValue, 1);
|
||||
LCD_DC_HIGH();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -106,72 +121,88 @@ void st7789v_Init(void)
|
|||
|
||||
/* Initialize st7789v low level bus layer -----------------------------------*/
|
||||
LCD_IO_Init();
|
||||
/* Out of sleep mode, 0 args, no delay */
|
||||
st7789v_WriteReg(0x11, 0x00);
|
||||
/**/
|
||||
LCD_Delay(10);
|
||||
st7789v_WriteReg(0x36, 0x00);
|
||||
|
||||
st7789v_WriteReg(0x3A, 0x55);
|
||||
//LCD_CS_HIGH();
|
||||
|
||||
LCD_RST_LOW();
|
||||
HAL_Delay(10);
|
||||
LCD_RST_HIGH();
|
||||
HAL_Delay(10);
|
||||
|
||||
LCD_BL_ON();
|
||||
HAL_Delay(100);
|
||||
/* Out of sleep mode, 0 args, no delay */
|
||||
st7789v_WriteRegCmd(0x11);
|
||||
HAL_Delay(120);
|
||||
|
||||
st7789v_WriteRegCmd(0x36);
|
||||
if (st7789v_rotation ==0) st7789v_WriteRegCmd(0x00);
|
||||
else if (st7789v_rotation ==1) st7789v_WriteRegCmd(0xC0);
|
||||
if (st7789v_rotation ==2) st7789v_WriteRegCmd(0x70);
|
||||
else st7789v_WriteRegCmd(0xA0);
|
||||
|
||||
|
||||
st7789v_WriteReg(0x3A, 0x05); // 16bit color
|
||||
|
||||
// porch control
|
||||
st7789v_WriteReg(0xB2, 0x0C);
|
||||
st7789v_WriteReg(0xB2, 0x0C);
|
||||
st7789v_WriteReg(0xB2, 0x00);
|
||||
st7789v_WriteReg(0xB2, 0x33);
|
||||
st7789v_WriteReg(0xB2, 0x33);
|
||||
|
||||
|
||||
|
||||
st7789v_WriteReg(0xB7, 0x35); //VGH=13.26V, VGL=-10.43V
|
||||
|
||||
st7789v_WriteReg(0xBB, 0x28); //VCOM
|
||||
st7789v_WriteReg(0xBB, 0x32); //VCOM
|
||||
|
||||
st7789v_WriteReg(0xC0, 0x3C);
|
||||
|
||||
st7789v_WriteReg(0xC2, 0x01);
|
||||
|
||||
st7789v_WriteReg(0xC3, 0x0B); //VAP //5V
|
||||
st7789v_WriteReg(0xC2, 0x01); //VDV VRH enable
|
||||
|
||||
st7789v_WriteReg(0xC4, 0x20);
|
||||
st7789v_WriteReg(0xC3, 0x15); //VAP //5V
|
||||
|
||||
st7789v_WriteReg(0xC6, 0x0F);
|
||||
st7789v_WriteReg(0xC4, 0x20); //VDV
|
||||
|
||||
st7789v_WriteReg(0xD0, 0xA4);
|
||||
st7789v_WriteReg(0xC6, 0x0F); //Frame rate, 60hz
|
||||
|
||||
st7789v_WriteReg(0xD0, 0xA4); //power control
|
||||
st7789v_WriteReg(0xD0, 0xA1);
|
||||
|
||||
|
||||
st7789v_WriteReg(0xE0, 0xD0);
|
||||
st7789v_WriteReg(0xE0, 0x01);
|
||||
st7789v_WriteReg(0xE0, 0x08);
|
||||
st7789v_WriteReg(0xE0, 0x0f);
|
||||
st7789v_WriteReg(0xE0, 0x11);
|
||||
st7789v_WriteReg(0xE0, 0x2a);
|
||||
st7789v_WriteReg(0xE0, 0x36);
|
||||
st7789v_WriteReg(0xE0, 0x55);
|
||||
st7789v_WriteReg(0xE0, 0x44);
|
||||
st7789v_WriteReg(0xE0, 0x3a);
|
||||
st7789v_WriteReg(0xE0, 0x0b);
|
||||
st7789v_WriteReg(0xE0, 0x06);
|
||||
st7789v_WriteReg(0xE0, 0x11);
|
||||
st7789v_WriteReg(0xE0, 0x20);
|
||||
st7789v_WriteReg(0xE0, 0x0E);
|
||||
st7789v_WriteReg(0xE0, 0x09);
|
||||
st7789v_WriteReg(0xE0, 0x09);
|
||||
st7789v_WriteReg(0xE0, 0x05);
|
||||
st7789v_WriteReg(0xE0, 0x31);
|
||||
st7789v_WriteReg(0xE0, 0x33);
|
||||
st7789v_WriteReg(0xE0, 0x48);
|
||||
st7789v_WriteReg(0xE0, 0x17);
|
||||
st7789v_WriteReg(0xE0, 0x14);
|
||||
st7789v_WriteReg(0xE0, 0x15);
|
||||
st7789v_WriteReg(0xE0, 0x31);
|
||||
st7789v_WriteReg(0xE0, 0x34);
|
||||
|
||||
|
||||
st7789v_WriteReg(0xE1, 0xD0);
|
||||
st7789v_WriteReg(0xE1, 0x02);
|
||||
st7789v_WriteReg(0xE1, 0x07);
|
||||
st7789v_WriteReg(0xE1, 0x0A);
|
||||
st7789v_WriteReg(0xE1, 0x0b);
|
||||
st7789v_WriteReg(0xE1, 0x18);
|
||||
st7789v_WriteReg(0xE1, 0x08);
|
||||
st7789v_WriteReg(0xE1, 0x0E);
|
||||
st7789v_WriteReg(0xE1, 0x09);
|
||||
st7789v_WriteReg(0xE1, 0x09);
|
||||
st7789v_WriteReg(0xE1, 0x05);
|
||||
st7789v_WriteReg(0xE1, 0x33);
|
||||
st7789v_WriteReg(0xE1, 0x48);
|
||||
st7789v_WriteReg(0xE1, 0x17);
|
||||
st7789v_WriteReg(0xE1, 0x14);
|
||||
st7789v_WriteReg(0xE1, 0x15);
|
||||
st7789v_WriteReg(0xE1, 0x31);
|
||||
st7789v_WriteReg(0xE1, 0x34);
|
||||
st7789v_WriteReg(0xE1, 0x43);
|
||||
st7789v_WriteReg(0xE1, 0x4a);
|
||||
st7789v_WriteReg(0xE1, 0x2b);
|
||||
st7789v_WriteReg(0xE1, 0x1b);
|
||||
st7789v_WriteReg(0xE1, 0x1c);
|
||||
st7789v_WriteReg(0xE1, 0x22);
|
||||
st7789v_WriteReg(0xE1, 0x1f);
|
||||
|
||||
st7789v_WriteReg(0x55,0xb0);
|
||||
st7789v_WriteReg(0x29,0x00);
|
||||
st7789v_WriteRegCmd(0x21);
|
||||
st7789v_WriteRegCmd(0x29);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -181,14 +212,14 @@ void st7789v_Init(void)
|
|||
*/
|
||||
void st7789v_DisplayOn(void)
|
||||
{
|
||||
// uint8_t data = 0;
|
||||
uint8_t data = 0;
|
||||
LCD_IO_WriteReg(0x13);/* Partial off (Normal): NORON */
|
||||
LCD_Delay(10);
|
||||
LCD_IO_WriteReg(0x29);/* Display on: DISPON */
|
||||
LCD_Delay(10);
|
||||
// LCD_IO_WriteReg(0x36);/* Memory data access control: MADCTL */
|
||||
// data = 0xC0;
|
||||
// LCD_IO_WriteMultipleData(&data, 1);
|
||||
LCD_IO_WriteReg(0x36);/* Memory data access control: MADCTL */
|
||||
data = 0xC0;
|
||||
LCD_IO_WriteMultipleData(&data, 1);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -453,6 +484,7 @@ void st7789_SetRotation(uint8_t rotation)
|
|||
case 0:
|
||||
/* Memory access control: MY = 0, MX = 0, MV = 0, ML = 0 */
|
||||
/* */
|
||||
#if 0
|
||||
st7789v_WriteReg(0X36, 0x08);
|
||||
st7789v_WriteReg(0x2A, 0x00);
|
||||
st7789v_WriteReg(0x2A, 0x00);
|
||||
|
@ -462,11 +494,13 @@ void st7789_SetRotation(uint8_t rotation)
|
|||
st7789v_WriteReg(0x2B, 0x00);
|
||||
st7789v_WriteReg(0x2B, 0x01);
|
||||
st7789v_WriteReg(0x2B, 0x3F);
|
||||
#endif
|
||||
st7789v_height = ST7789V_LCD_PIXEL_HEIGHT;
|
||||
st7789v_width = ST7789V_LCD_PIXEL_WIDTH;
|
||||
break;
|
||||
case 1:
|
||||
/* Memory access control: MY = 0, MX = 1, MV = 1, ML = 0 */
|
||||
#if 0
|
||||
st7789v_WriteReg(0X36, 0x68);
|
||||
st7789v_WriteReg(0x2A, 0x00);
|
||||
st7789v_WriteReg(0x2A, 0x00);
|
||||
|
@ -476,11 +510,13 @@ void st7789_SetRotation(uint8_t rotation)
|
|||
st7789v_WriteReg(0x2B, 0x00);
|
||||
st7789v_WriteReg(0x2B, 0x00);
|
||||
st7789v_WriteReg(0x2B, 0xEF);
|
||||
#endif
|
||||
st7789v_height = ST7789V_LCD_PIXEL_WIDTH;
|
||||
st7789v_width = ST7789V_LCD_PIXEL_HEIGHT;
|
||||
break;
|
||||
case 2:
|
||||
/* Memory access control: MY = 1, MX = 1, MV = 0, ML = 0 */
|
||||
#if 0
|
||||
st7789v_WriteReg(0X36, 0xC8);
|
||||
st7789v_WriteReg(0x2A, 0x00);
|
||||
st7789v_WriteReg(0x2A, 0x00);
|
||||
|
@ -490,11 +526,13 @@ void st7789_SetRotation(uint8_t rotation)
|
|||
st7789v_WriteReg(0x2B, 0x00);
|
||||
st7789v_WriteReg(0x2B, 0x01);
|
||||
st7789v_WriteReg(0x2B, 0x3F);
|
||||
#endif
|
||||
st7789v_height = ST7789V_LCD_PIXEL_HEIGHT;
|
||||
st7789v_width = ST7789V_LCD_PIXEL_WIDTH;
|
||||
break;
|
||||
case 3:
|
||||
/* Memory access control: MY = 1, MX = 0, MV = 1, ML = 0 */
|
||||
#if 0
|
||||
st7789v_WriteReg(0X36, 0xA8);
|
||||
st7789v_WriteReg(0x2A, 0x00);
|
||||
st7789v_WriteReg(0x2A, 0x00);
|
||||
|
@ -504,6 +542,7 @@ void st7789_SetRotation(uint8_t rotation)
|
|||
st7789v_WriteReg(0x2B, 0x00);
|
||||
st7789v_WriteReg(0x2B, 0x00);
|
||||
st7789v_WriteReg(0x2B, 0xEF);
|
||||
#endif
|
||||
st7789v_height = ST7789V_LCD_PIXEL_WIDTH;
|
||||
st7789v_width = ST7789V_LCD_PIXEL_HEIGHT;
|
||||
break;
|
||||
|
|
|
@ -77,12 +77,12 @@ uint16_t st7789v_ReadID(void);
|
|||
void st7789v_DisplayOn(void);
|
||||
void st7789v_DisplayOff(void);
|
||||
void st7789v_SetCursor(uint16_t Xpos, uint16_t Ypos);
|
||||
void st7789_SetRotation(uint8_t rotation);
|
||||
void st7789_SetRotation(uint8_t rotation);
|
||||
void st7789v_WritePixel(uint16_t Xpos, uint16_t Ypos, uint16_t RGBCode);
|
||||
void st7789v_WriteReg(uint8_t LCDReg, uint8_t LCDRegValue);
|
||||
uint8_t st7789v_ReadReg(uint8_t LCDReg);
|
||||
void st7789v_SetDisplayWindow(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height);
|
||||
void st7789v_FillRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height, uint16_t RGBCode);
|
||||
void st7789v_FillRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height, uint16_t RGBCode);
|
||||
void st7789v_DrawHLine(uint16_t RGBCode, uint16_t Xpos, uint16_t Ypos, uint16_t Length);
|
||||
void st7789v_DrawVLine(uint16_t RGBCode, uint16_t Xpos, uint16_t Ypos, uint16_t Length);
|
||||
|
||||
|
|
|
@ -43,12 +43,13 @@ EndDependencies */
|
|||
#include "spi.h"
|
||||
#include "stm32_hx8347d_lcd.h"
|
||||
#include "Fonts/fonts.h"
|
||||
#include "Fonts/font24.c"
|
||||
#include "Fonts/font20.c"
|
||||
//#include "Fonts/font24.c"
|
||||
//#include "Fonts/font20.c"
|
||||
#include "Fonts/font16.c"
|
||||
#include "Fonts/font12.c"
|
||||
#include "Fonts/font8.c"
|
||||
//#include "Fonts/font12.c"
|
||||
//#include "Fonts/font8.c"
|
||||
#include "sys_app.h"
|
||||
//#include "pic.h"
|
||||
/** @addtogroup BSP
|
||||
* @{
|
||||
*/
|
||||
|
@ -146,7 +147,7 @@ uint8_t BSP_LCD_Init(void)
|
|||
|
||||
/* Default value for draw propriety */
|
||||
DrawProp.BackColor = 0xFFFF;
|
||||
DrawProp.pFont = &Font24;
|
||||
DrawProp.pFont = &Font16;
|
||||
DrawProp.TextColor = 0x0000;
|
||||
|
||||
// lcd_drv = &hx8347d_drv;
|
||||
|
@ -263,7 +264,7 @@ sFONT *BSP_LCD_GetFont(void)
|
|||
}
|
||||
|
||||
/**
|
||||
* @brief Clears the hole LCD.
|
||||
* @brief Clears the Whole LCD.
|
||||
* @param Color: Color of the background
|
||||
* @retval None
|
||||
*/
|
||||
|
@ -1183,7 +1184,7 @@ void LCD_IO_Init(void)
|
|||
LCD_CS_GPIO_CLK_ENABLE();
|
||||
LCD_DC_GPIO_CLK_ENABLE();
|
||||
|
||||
/* Configure LCD_CS_PIN pin: LCD Card CS pin */
|
||||
/* Configure LCD_CS_PIN pin: LCD CS pin */
|
||||
gpioinitstruct.Pin = LCD_CS_PIN;
|
||||
gpioinitstruct.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
gpioinitstruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
||||
|
@ -1211,11 +1212,11 @@ void LCD_IO_WriteReg(uint8_t LCDReg)
|
|||
LCD_CS_LOW();
|
||||
|
||||
/* Set LCD data/command line DC to Low */
|
||||
LCD_DC_LOW();
|
||||
//LCD_DC_LOW();
|
||||
|
||||
/* Send Command */
|
||||
SPIx_Write(LCDReg);
|
||||
|
||||
HAL_Delay(1);
|
||||
/* Deselect : Chip Select high */
|
||||
LCD_CS_HIGH();
|
||||
}
|
||||
|
@ -1230,7 +1231,7 @@ uint16_t LCD_IO_ReadData(uint16_t LCDReg){
|
|||
LCD_CS_LOW();
|
||||
|
||||
/* Set LCD data/command line DC to Low */
|
||||
LCD_DC_LOW();
|
||||
//LCD_DC_LOW();
|
||||
|
||||
/* Send Command */
|
||||
uint16_t data = SPIx_Read(LCDReg);
|
||||
|
@ -1311,7 +1312,40 @@ void LCD_Delay(uint32_t Delay)
|
|||
void BSP_LCD_Test(void)
|
||||
{
|
||||
BSP_LCD_Clear(LCD_COLOR_WHITE);
|
||||
HAL_Delay(1000);
|
||||
APP_LOG(TS_OFF,VLEVEL_L,"\r\n Clear with red...........\r\n");
|
||||
BSP_LCD_Clear(LCD_COLOR_RED);
|
||||
|
||||
HAL_Delay(1000);
|
||||
BSP_LCD_Clear(LCD_COLOR_RED);
|
||||
APP_LOG(TS_OFF,VLEVEL_L,"\r\n Clear with blue...........\r\n");
|
||||
BSP_LCD_Clear(LCD_COLOR_BLUE);
|
||||
HAL_Delay(1000);
|
||||
|
||||
APP_LOG(TS_OFF,VLEVEL_L,"\r\n Clear with YELLOW...........\r\n");
|
||||
BSP_LCD_Clear(LCD_COLOR_YELLOW);
|
||||
HAL_Delay(1000);
|
||||
APP_LOG(TS_OFF,VLEVEL_L,"\r\n Clear with GREEN...........\r\n");
|
||||
BSP_LCD_Clear(LCD_COLOR_GREEN);
|
||||
HAL_Delay(1000);
|
||||
APP_LOG(TS_OFF,VLEVEL_L,"\r\n Clear with WHITE...........\r\n");
|
||||
BSP_LCD_Clear(LCD_COLOR_WHITE);
|
||||
HAL_Delay(1000);
|
||||
|
||||
BSP_LCD_FillRect(0,0,ST7789V_LCD_PIXEL_WIDTH,ST7789V_LCD_PIXEL_HEIGHT,LCD_COLOR_WHITE);
|
||||
HAL_Delay(1000);
|
||||
BSP_LCD_FillRect(0,0,ST7789V_LCD_PIXEL_WIDTH,ST7789V_LCD_PIXEL_HEIGHT,LCD_COLOR_RED);
|
||||
HAL_Delay(1000);
|
||||
|
||||
BSP_LCD_FillRect(0,0,ST7789V_LCD_PIXEL_WIDTH,ST7789V_LCD_PIXEL_HEIGHT,LCD_COLOR_BROWN);
|
||||
HAL_Delay(1000);
|
||||
BSP_LCD_FillRect(0,0,ST7789V_LCD_PIXEL_WIDTH,ST7789V_LCD_PIXEL_HEIGHT,LCD_COLOR_LIGHTGREEN);
|
||||
HAL_Delay(1000);
|
||||
BSP_LCD_FillRect(0,0,ST7789V_LCD_PIXEL_WIDTH,ST7789V_LCD_PIXEL_HEIGHT,LCD_COLOR_LGRAYBLUE);
|
||||
HAL_Delay(1000);
|
||||
BSP_LCD_FillRect(0,0,ST7789V_LCD_PIXEL_WIDTH,ST7789V_LCD_PIXEL_HEIGHT,LCD_COLOR_BLUE);
|
||||
|
||||
#if 0
|
||||
BSP_LCD_DisplayStringAt(10, 20, "Speed Test", LEFT_MODE, LCD_COLOR_RED);
|
||||
APP_LOG(TS_OFF,VLEVEL_L,"\r\n Speed Test...........");
|
||||
|
||||
|
@ -1328,7 +1362,7 @@ void BSP_LCD_Test(void)
|
|||
BSP_LCD_Clear(LCD_COLOR_LGRAYBLUE);
|
||||
BSP_LCD_Clear(LCD_COLOR_WHITE);
|
||||
BSP_LCD_Clear(LCD_COLOR_BLACK);
|
||||
|
||||
#endif
|
||||
APP_LOG(TS_OFF,VLEVEL_L,"\r\n Font and Hellow world Test...........");
|
||||
BSP_LCD_DisplayStringAt(10, 10, "Font test.", LEFT_MODE, LCD_COLOR_RED);
|
||||
BSP_LCD_DisplayStringAt(10, 50, "Hello World!", LEFT_MODE, LCD_COLOR_RED);
|
||||
|
@ -1342,30 +1376,29 @@ void BSP_LCD_Test(void)
|
|||
BSP_LCD_DrawRect(40, 40, 200, 200, LCD_COLOR_CYAN);
|
||||
|
||||
|
||||
BSP_LCD_Clear(LCD_COLOR_CYAN);
|
||||
BSP_LCD_Clear(LCD_COLOR_BLACK);
|
||||
BSP_LCD_DisplayStringAt(10, 10, "Filled Rect.", LEFT_MODE, LCD_COLOR_YELLOW);
|
||||
BSP_LCD_FillRect(40, 40, 160, 160, LCD_COLOR_CYAN);
|
||||
|
||||
|
||||
BSP_LCD_Clear(LCD_COLOR_CYAN);
|
||||
BSP_LCD_Clear(LCD_COLOR_BLACK);
|
||||
BSP_LCD_DisplayStringAt(10, 10, "Circle.", LEFT_MODE, LCD_COLOR_YELLOW);
|
||||
BSP_LCD_DrawCircle(120, 120, 60, LCD_COLOR_CYAN);
|
||||
|
||||
|
||||
BSP_LCD_Clear(LCD_COLOR_CYAN);
|
||||
BSP_LCD_Clear(LCD_COLOR_BLACK);
|
||||
BSP_LCD_DisplayStringAt(10, 10, "Filled Cir.", LEFT_MODE, LCD_COLOR_YELLOW);
|
||||
BSP_LCD_FillCircle(120, 120, 60, LCD_COLOR_CYAN);
|
||||
|
||||
|
||||
BSP_LCD_Clear(LCD_COLOR_CYAN);
|
||||
BSP_LCD_DisplayStringAt(10, 10, "Triangle", LEFT_MODE, LCD_COLOR_YELLOW);
|
||||
ST7789_DrawTriangle(30, 30, 30, 70, 60, 40, LCD_COLOR_CYAN);
|
||||
|
||||
|
||||
BSP_LCD_Clear(LCD_COLOR_CYAN);
|
||||
BSP_LCD_Clear(LCD_COLOR_BLACK);
|
||||
BSP_LCD_DisplayStringAt(10, 10, "Filled Tri", LEFT_MODE, LCD_COLOR_YELLOW);
|
||||
BSP_LCD_FillTriangle(30, 30, 30, 70, 60, 40, LCD_COLOR_CYAN);
|
||||
|
||||
BSP_LCD_Clear(LCD_COLOR_BLACK);
|
||||
//BSP_LCD_DrawBitmap(0, 0, (char *)gImage_1);
|
||||
HAL_Delay(3000);
|
||||
|
||||
/*
|
||||
|
||||
|
|
|
@ -130,7 +130,7 @@ typedef enum
|
|||
/**
|
||||
* @brief LCD default font
|
||||
*/
|
||||
#define LCD_DEFAULT_FONT Font24
|
||||
#define LCD_DEFAULT_FONT Font16
|
||||
//======================================================================================================================////========================================================================================================================//
|
||||
/**
|
||||
* @}
|
||||
|
@ -140,16 +140,16 @@ typedef enum
|
|||
#define LCD_SPIx SPI1
|
||||
#define LCD_SPIx_CLK_ENABLE() __HAL_RCC_SPI1_CLK_ENABLE()
|
||||
|
||||
#define LCD_SPIx_SCK_GPIO_PORT GPIOA
|
||||
#define LCD_SPIx_SCK_PIN GPIO_PIN_5
|
||||
#define LCD_SPIx_SCK_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
|
||||
#define LCD_SPIx_SCK_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE()
|
||||
#define LCD_SPIx_SCK_GPIO_PORT MEMS_SPI_SCK_GPIO_Port
|
||||
#define LCD_SPIx_SCK_PIN MEMS_SPI_SCK_Pin
|
||||
#define LCD_SPIx_SCK_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
|
||||
#define LCD_SPIx_SCK_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE()
|
||||
|
||||
#define LCD_SPIx_MISO_MOSI_GPIO_PORT GPIOA
|
||||
#define LCD_SPIx_MISO_MOSI_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
|
||||
#define LCD_SPIx_MISO_MOSI_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE()
|
||||
#define LCD_SPIx_MISO_MOSI_GPIO_PORT MEMS_SPI_MOSI_GPIO_Port
|
||||
#define LCD_SPIx_MISO_MOSI_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
|
||||
#define LCD_SPIx_MISO_MOSI_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE()
|
||||
#define LCD_SPIx_MISO_PIN GPIO_PIN_6
|
||||
#define LCD_SPIx_MOSI_PIN GPIO_PIN_7
|
||||
#define LCD_SPIx_MOSI_PIN MEMS_SPI_MOSI_Pin
|
||||
/* Maximum Timeout values for flags waiting loops. These timeouts are not based
|
||||
on accurate values, they just guarantee that the application will not remain
|
||||
stuck if the SPI communication is corrupted.
|
||||
|
@ -160,27 +160,39 @@ typedef enum
|
|||
/**
|
||||
* @brief LCD Control Lines management
|
||||
*/
|
||||
#define LCD_RST_LOW() HAL_GPIO_WritePin(LCD_RST_GPIO_PORT,LCD_RST_PIN,GPIO_PIN_RESET)
|
||||
#define LCD_RST_HIGH() HAL_GPIO_WritePin(LCD_RST_GPIO_PORT,LCD_RST_PIN,GPIO_PIN_SET)
|
||||
#define LCD_CS_LOW() HAL_GPIO_WritePin(LCD_CS_GPIO_PORT, LCD_CS_PIN, GPIO_PIN_RESET)
|
||||
#define LCD_CS_HIGH() HAL_GPIO_WritePin(LCD_CS_GPIO_PORT, LCD_CS_PIN, GPIO_PIN_SET)
|
||||
#define LCD_DC_LOW() HAL_GPIO_WritePin(LCD_DC_GPIO_PORT, LCD_DC_PIN, GPIO_PIN_RESET)
|
||||
#define LCD_DC_HIGH() HAL_GPIO_WritePin(LCD_DC_GPIO_PORT, LCD_DC_PIN, GPIO_PIN_SET)
|
||||
#define LCD_BL_ON() HAL_GPIO_WritePin(LCD_BL_GPIO_Port, LCD_BL_Pin, GPIO_PIN_SET)
|
||||
#define LCD_BL_OFF() HAL_GPIO_WritePin(LCD_BL_GPIO_Port, LCD_BL_Pin, GPIO_PIN_RESET)
|
||||
#define LCD_BL_ON() HAL_GPIO_WritePin(LCD_BL_GPIO_Port, LCD_BL_Pin, GPIO_PIN_SET)
|
||||
#define LCD_BL_OFF() HAL_GPIO_WritePin(LCD_BL_GPIO_Port, LCD_BL_Pin, GPIO_PIN_RESET)
|
||||
/**
|
||||
* @brief LCD Control Interface pins (shield D10)
|
||||
* @brief LCD Control Interface pins
|
||||
*/
|
||||
#define LCD_CS_PIN LCD_CS_Pin
|
||||
#define LCD_CS_GPIO_PORT LCD_CS_GPIO_Port
|
||||
#define LCD_CS_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
|
||||
#define LCD_CS_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE()
|
||||
#define LCD_CS_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
|
||||
#define LCD_CS_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE()
|
||||
|
||||
/**
|
||||
* @brief LCD Data/Command Interface pins
|
||||
*/
|
||||
#define LCD_DC_PIN LCD_DC_Pin
|
||||
#define LCD_DC_GPIO_PORT LCD_DC_GPIO_Port
|
||||
#define LCD_DC_GPIO_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE()
|
||||
#define LCD_DC_GPIO_CLK_DISABLE() __HAL_RCC_GPIOB_CLK_DISABLE()
|
||||
#define LCD_DC_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
|
||||
#define LCD_DC_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE()
|
||||
|
||||
/**
|
||||
* @brief LCD Control Interface pins
|
||||
*/
|
||||
#define LCD_RST_PIN LCD_RST_Pin
|
||||
#define LCD_RST_GPIO_PORT LCD_RST_GPIO_Port
|
||||
#define LCD_RST_GPIO_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE()
|
||||
#define LCD_RST_GPIO_CLK_DISABLE() __HAL_RCC_GPIOA_CLK_DISABLE()
|
||||
|
||||
|
||||
|
||||
//=========================================================2=============================================================//
|
||||
/** @defgroup STM32_HX8347D_LCD_Exported_Functions
|
||||
|
@ -194,7 +206,7 @@ uint16_t BSP_LCD_GetTextColor(void);
|
|||
uint16_t BSP_LCD_GetBackColor(void);
|
||||
void BSP_LCD_SetTextColor(__IO uint16_t Color);
|
||||
void BSP_LCD_SetBackColor(__IO uint16_t Color);
|
||||
void BSP_LCD_SetRotation(uint8_t rotation);
|
||||
void BSP_LCD_SetRotation(uint8_t rotation);
|
||||
void BSP_LCD_SetFont(sFONT *fonts);
|
||||
sFONT *BSP_LCD_GetFont(void);
|
||||
|
||||
|
|
Loading…
Reference in New Issue