goldqiu 发表于 2019-4-11 10:33:55

STM32f103RCT6移植ST77892寸屏幕,并移植emWin,显示字符出现重复

底层驱动未用GUI字符、画线、图片显示已调通。底层函数如下:
static u8 SPI2_ReadWriteByte(u16 TxData)
{
    u8 retry=0;      

SPI_I2S_SendData(SPI2, TxData); //通过外设SPIx发送一个数据
while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET) //检查指定的SPI标志位设置与否:接受缓存非空标志位
{
retry++;
if(retry>200)return 0;
}            
return SPI_I2S_ReceiveData(SPI2); //返回通过SPIx最近接收的数据
}
void LCD_Write_Cmd(u8 cmd)
{
LCD_WR_CLR;
   SPI2_ReadWriteByte(cmd);
}

void LCD_Write_Data(u8 data)
{
   LCD_WR_SET;
SPI2_ReadWriteByte(data);
}

移植emwin后的主程序如下:
vfnGpioInit();
DelayInit();
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC, ENABLE);
    GUI_Init();
GUI_SetFont(&GUI_Font32_1);
GUI_SetBkColor(GUI_BLUE);
   GUI_Clear();
GUI_SetTextMode(GUI_TM_NORMAL);
   
GUI_DispStringHCenterAt("Hello emWin!",80,10);


显示效果如图:显示出现重复,有没有大神知道是什么问题,我找来找去都不知道哪里出了问题

eric2013 发表于 2019-4-12 00:37:29

你的SPI读写函数应该有点问题,使用我这个


加快SPI连续读写速度的配置方式
http://www.armbbs.cn/forum.php?mod=viewthread&tid=91095&fromuid=58
(出处: 安富莱电子论坛)
页: [1]
查看完整版本: STM32f103RCT6移植ST77892寸屏幕,并移植emWin,显示字符出现重复