stm32f103c8t6驱动tft-lcd(st7789v3)液晶屏幕的方法(HAL库)

stm32cubemx的设计如下:

接线如下:

RESPA1
DCPA2
CSPA3
BLKPA4
SCLPA5
SDAPA7

代码如下:

main.h

int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_SPI1_Init();
  /* USER CODE BEGIN 2 */
	float t=0;
	LCD_Init();//LCD初始化
	LCD_Fill(0,0,LCD_W,LCD_H,WHITE);

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
		LCD_ShowChinese(0,0,"新年快乐",RED,WHITE,32,0);
		LCD_ShowString(0,33,"Happy New Year!",BLUE,WHITE,32,0);
		LCD_ShowString(0,66,"LCD_W:",RED,WHITE,32,0);
		LCD_ShowIntNum(106,66,LCD_W,3,RED,WHITE,32);
		LCD_ShowString(0,99,"LCD_H:",RED,WHITE,32,0);
		LCD_ShowIntNum(106,99,LCD_H,3,RED,WHITE,32);
		LCD_ShowFloatNum1(0,135,t,4,GREEN,WHITE,32);
		t+=0.11;
		LCD_ShowPicture(160,95,40,40,gImage_1);
  }
  /* USER CODE END 3 */
}

效果如下:

驱动代码下载地址:

stm32驱动tft-lcd屏幕(st7789)

  • 13
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
驱动dx-bt20蓝牙模块,需要使用STM32F103C8T6的串口通信功能,以下是一个简单的步骤: 1. 连接dx-bt20蓝牙模块到STM32F103C8T6的串口引脚。dx-bt20蓝牙模块的TX引脚连接到STM32F103C8T6的RX引脚,dx-bt20蓝牙模块的RX引脚连接到STM32F103C8T6的TX引脚。此外,还需要连接dx-bt20蓝牙模块的VCC引脚和GND引脚到STM32F103C8T6的电源引脚。 2. 在STM32F103C8T6的代码中初始化串口功能。使用STM32HAL库可以方便地实现串口的初始化,例如以下代码: ```c UART_HandleTypeDef huart1; void MX_USART1_UART_Init(void) { huart1.Instance = USART1; huart1.Init.BaudRate = 9600; huart1.Init.WordLength = UART_WORDLENGTH_8B; huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.Parity = UART_PARITY_NONE; huart1.Init.Mode = UART_MODE_TX_RX; huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE; huart1.Init.OverSampling = UART_OVERSAMPLING_16; if (HAL_UART_Init(&huart1) != HAL_OK) { Error_Handler(); } } ``` 3. 在STM32F103C8T6的代码中实现与dx-bt20蓝牙模块的通信。可以使用HAL库中的UART发送和接收函数实现通信,例如以下代码: ```c uint8_t rx_data[1]; uint8_t tx_data[] = "Hello World!"; void send_uart_data(uint8_t *data, uint16_t len) { HAL_UART_Transmit(&huart1, data, len, HAL_MAX_DELAY); } void receive_uart_data(uint8_t *data, uint16_t len) { HAL_UART_Receive(&huart1, data, len, HAL_MAX_DELAY); } void send_hello_world() { send_uart_data(tx_data, sizeof(tx_data)); } void receive_data() { receive_uart_data(rx_data, sizeof(rx_data)); } ``` 4. 在STM32F103C8T6的代码中实现dx-bt20蓝牙模块的控制。可以使用UART发送AT指令给dx-bt20蓝牙模块,例如以下代码: ```c void reset_bt_module() { uint8_t reset_command[] = "AT+RESET\r\n"; send_uart_data(reset_command, sizeof(reset_command)); } ``` 以上是一个简单的示例,具体实现方式可以根据实际需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值