测试单片机写LCD刷新率

最近要做一些带LCD彩屏显示的产品,部分应用需要比较高显示刷新率,为了知道单片机写屏幕的最高刷新率,做了如下简单的测试代码。测试基本思路是:向屏幕写一张满屏的图片,然后记录在1秒内能够写多少次,总共测试10秒,最后显示出每一秒的写入次数(示例代码是用了两张图片交替显示),这个思路也可以测试图形算法的速度

//----------------刷新率测试---------------------
u8 const *img_tab[2]={gImage_1,gImage_2}; //图像表
u8 rate_list[10]; //刷新率记录表

//刷新率测试
void LCD_Refresh(void)
{
  static u8 i;
  u8 rate; //刷新率
  u8 times;
  u8 j;

  rate = 0;
  times = 10;
  while (1)
  {
    if (times) //为0停止刷屏
    {
      if (++i >= 2)i = 0;
      LCD_DrawPicture_565(img_tab[i], 0, 0);    
      rate++; //刷新计次
    }

    if (Systick_GetSignal_1ms(1000, 1)) //1秒钟记录一次
    {       
        if(times)
        {
          times--;
          rate_list[times] = rate; //记录到表里
          rate = 0; //清零重新记数

          if(times == 0)
          {            
            LCD_SetBackColor(BLACK);
            LCD_SetForeColor(WHITE);
            for (j = 0; j < 10; j++)
            {
              LCD_ShowNum(10, j * 16, rate_list[j], 3, 16);//显示刷新率
            }
          }
        }
    }
  }
}

雅特力AT32F403A芯片 240M主频 + XMC 8位数据宽度 驱动ILI9341 320*240分辨率,没有使用DMA,实测写屏速度是37HZ (27.6ms/次)。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值