创建工程
开启SPI2
开启GPIO,LED,LCD_RESET,LCD_WR_RS,LCD_POWER
将SPI2_SCK由PB10改成PB13
配置时钟树
保存工程
进入MDK中编写
导入LCD屏幕的驱动文件
链接:https://pan.baidu.com/s/1weVpzOnyvJGtGzyL64xitw
提取码:t85d
添加c文件
添加头文件
添加printf函数的使用条件
在usart.c文件中添加
#include "stdi.h" //注意添加头文件
int fputc(int ch,FILE *file)
{
uint8_t temp[1]={ch};
HAL_UART_Transmit(&huart1,temp,1,0xff);
return HAL_OK;
}
在spi.c文件中添加
/* USER CODE BEGIN 1 */
uint8_t SPI2_WriteByte(uint8_t* data, uint16_t size)
{
return HAL_SPI_Transmit(&hspi2, data, size, 0xff);
}
/* USER CODE END 1 */
在mian.c文件中添加
/* USER CODE BEGIN Includes */
#include "lcd.h"
#include "stdio.h"
/* USER CODE END Includes */
/* USER CODE BEGIN 2 */
LCD_Init();//初始化LCD,该函数中调用的硬件初始化已经屏蔽吊,本教程使用的是CubeMX生成的硬件初始化
printf("Welcome to IoT\r\n");
/* USER CODE END 2 */
LCD_Clear(BLACK);//清屏为黑色
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
// x y x++ y++ hight
LCD_ShowString(5, 10, 240, 32, 32, "BearPi LCDTest");//显示字符串,字体大小32*32
LCD_ShowString(10, 50, 240, 16, 16, "Welcome to 311 learning!");//显示字符串,字体大小16*16
LCD_ShowString(10, 50+24, 240, 24, 24, "to IoT CluB!");//显示字符串,字体大小24*24
LCD_ShowString(10, 50+24+32+30, 240, 32, 32, "IoT CluB!");//显示字符串,字体大小32*32
// HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_SET);//点亮LED灯
// HAL_Delay(1000);//延时1秒
// LCD_Clear(BLUE);//清屏为蓝色
// LCD_Draw_Circle(120, 120, 100);//画圆 半径r=100
// LCD_Draw_Circle(120, 120, 80);//画圆 半径r=80
// LCD_Draw_Circle(120, 120, 60);//画圆 半径r=60
// LCD_Draw_Circle(120, 120, 40);//画圆 半径r=40
// LCD_Draw_Circle(120, 120, 20);//画圆 半径r=20
// LCD_Draw_Circle(120, 120, 1);//画圆 半径r=1
// HAL_GPIO_WritePin(LED_GPIO_Port,LED_Pin,GPIO_PIN_RESET);//熄灭LED灯
// HAL_Delay(1000);//延时1秒
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
编译写入即可实现功能