其中请着重关注图中液晶屏LCD_CS及LCD_RS(即DC引脚)与FSMC存储区选择引脚FSMC_NE及地址信号FSMC_A的编号,它们会决定STM32要使用什么内存地址来控制与液晶屏的通讯。 以上原理图可查阅《4.5寸液晶原理图.pdf》及《F407开发板底板原理图》文档获知,若您使用的液晶屏或实验板不一样,请根据实际连接的引脚修改程序。
uint16_tx_2,uint16_ty_2,uint8_t*colors){uint8_tidx=0;uint16_tmaxNum=65534;uint32_tnum=(x_2-x_1+1)*(y_2-y_1+1)*2;SetAddress(x_1,y_1,x_2,y_2);DC_Set();// 写数据boolflag=true;while(flag){uint16_tcurNum;if(num>maxNum){curNum=maxNum;num-=curNum;}else{flag=fa...
HAL_GPIO_WritePin(LCD_DC_GPIO_Port,LCD_DC_Pin,GPIO_PIN_RESET); else HAL_GPIO_WritePin(LCD_DC_GPIO_Port,LCD_DC_Pin,GPIO_PIN_SET); returnHAL_SPI_Transmit(hspi_lcd,pData,1,HAL_MAX_DELAY); } /*** * *LcdWriteReg * *Functiondescription: *Setsdisplayregister */ voidlcd_st7789_write_...
引脚定义: //define LCD PIN#defineLCD_CS_SET HAL_GPIO_WritePin(GPIOB,GPIO_PIN_11,GPIO_PIN_SET)#defineLCD_CS_CLR HAL_GPIO_WritePin(GPIOB,GPIO_PIN_11,GPIO_PIN_RESET)#defineLCD_RS_SET HAL_GPIO_WritePin(GPIOB,GPIO_PIN_10,GPIO_P...
InitStructure); /*===配置LCD的引脚DC===*/ GPIO_InitStructure.GPIO_Pin = LCD_DC_GPIO_PIN; GPIO_Init(LCD_DC_GPIO_PORT, &GPIOInitStructure); /*===配置LCD的引脚BLK===*/ GPIO_InitStructure.GPIO_Pin = LCD_BLK_GPIO_PIN; GPIO_Init(LCD_BLK_GPIO_PORT, &GPIOInitStructure); } 由于RESET...
(LCD_DC_GPIO_Port, LCD_DC_Pin, GPIO_PIN_SET); return HAL_SPI_Transmit(hspi_lcd, pData, 1, HAL_MAX_DELAY); } /*** * * LcdWriteReg * * Function description: * Sets display register */ void lcd_st7789_write_reg(uint8_t Data) { HAL_GPIO_WritePin(LCD_DC_GPIO_Port, LCD_DC_...
// USER DEFINED SETTINGS// Set driver type, fonts to be loaded, pins used and SPI control method etc/// See the User_Setup_Select.h file if you wish to be ableto define multiple// setups and then easily select which setup file is used by the compiler./// If this file is edited...
lcd_spi_dc_pin 指定作为DC的管脚,用于spi接口时。 lcd_gpio_x x表示数字。如果有多个gpio脚需要控制,则定义lcd_gpio_0,lcd_gpio_1等。 lcd_spi_bus_num 选择spi总线id,只有spi1支持DBI协议,所以这里一般选择1。 取值范围:0到1。 lcd_pixel_fmt 选择传输数据的像素格式。 可选值如下,当你更换RGB分量顺序...
DC = 1时,发送的是数据发送2byte数据主要是用在像素点颜色信息写入LCD_DC_0和LCD_DC_1是宏定义,...
(unsigned int sel, unsigned char cmd) { struct spi_transfer t; if (!spi_device) return -1; DC(sel, 0);memset(&t, 0, sizeof(struct spi_transfer)); t.tx_buf = &cmd; t.len = 1; t.bits_per_word = 8; t.speed_hz = 24000000; return spi_sync_transfer(spi_device, &t, 1)...