本帖最后由 j1755659290 于 2014-5-29 01:19 编辑
2.8寸240*320的屏幕
我用的是STM32RCT的板子,所以只能用IO口驱动液晶屏,IO口配置50MHz,但是感觉刷屏速度很慢,从一个颜色刷到另一个颜色我记了下时间,需要0.8秒左右。哦,对了顺便说下我的程序是在ucos下跑的,板子的晶振是8M,运行时RCC寄存器的值是RCC->CR:0x3035483、CC->CFGR:0x1d040a 。
请问有什么方法可以加快找个速度么?
大家写的程序刷屏需要多久啊?
void LCD_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
/* Enable GPIOD and GPIOE clocks */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitStructure.GPIO_Pin = 0xff00;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = 0x0fff;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOC, &GPIO_InitStructure);
}
写数据函数
void write_data(unchar i,unchar j)
{
uint16_t t;
Clr_Cs;
Set_Rs;
Set_nRd;
t = GPIO_ReadOutputData(GPIOB);
t = t & 0x00FF;
t = t | (i << 8);
GPIO_Write(GPIOB, t);
t = GPIO_ReadOutputData(GPIOC);
t = t & 0xFF00;
t = t | j;
GPIO_Write(GPIOC, t);
Clr_nWr;
Set_nWr;
Set_Cs;
}
刷屏函数
void display_green(void)
{
unchar j;
unint i;
for(i=0;i<320;i++)
{
for(j=0;j<240;j++)
{
write_data(0x07,0xc0);
}
}
}
|