用stm32f103驱动800*480的触屏刷屏的时候太慢了

我编了一个显示按钮的程序,当字母被按下的时候反显,并执行相应的操作,字母是用数组的方法,由于字母较大所以数组是196个。但是刷屏的时间太长了要差不多1秒。能不能让分辨率降低啊800*480变为400*240这样就可以快点,我觉得。

STM32有PLL倍频你把芯片速度提高的最快试试,如果还不可以就减少软件计算量,比如乘除运算能用左移右移解决的就更换一下追问

追答

恩,你用的是8M晶振吧能够倍频到72兆的,如果72M速度都不可以,你还有两个选择1:换速度更快单片机,2FPGA完成。
void RCC_Config(void)
{
ErrorStatus HSEStartUpStatus;
RCC_DeInit();
RCC_HSEConfig(RCC_HSE_ON);
HSEStartUpStatus=RCC_WaitForHSEStartUp();
if(HSEStartUpStatus==SUCCESS)
{
/*****选定AHB总线的频率为系统时钟一分频就是72MHz*****/
RCC_HCLKConfig(RCC_SYSCLK_Div1);
/**********APB2的时钟频率为AHB一分频也就说明了APB2上的外设皆工作在72MHz*****/
RCC_PCLK2Config(RCC_HCLK_Div1);
/**********APB1的时钟频率为AHB二分频也就是说APB1的时钟频率为36MHz**********/
RCC_PCLK1Config(RCC_HCLK_Div2);
FLASH_SetLatency(FLASH_Latency_2);
FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9);
RCC_PLLCmd(ENABLE);
while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET);
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
while(RCC_GetSYSCLKSource()!=0x08);
}
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD|RCC_APB2Periph_AFIO|RCC_APB2Periph_USART1,ENABLE);
// RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR|RCC_APB1Periph_BKP,ENABLE);//掉电保护和BKP中断位于APB1总线上
}

温馨提示:答案为网友推荐,仅供参考