原子F4系列开发板的一些问题,另我遇到的一个F429带RGB屏刷位图慢的问题

2019-07-20 20:28发布

搞开发10多年了   STM32页用了大概六七年了
原子的开发板购买了F407和F429的
例程和资料都十分完整给我也有很大的帮助

现说一下我在使用测试原子程序是遇到的一些小问题
1   原子的串口中断接收例程都是以0d0a 为结束   判断是否收到一阵完整的数据
    但是程序再收到0d后就开始等待0a的到来    并不是检测到连续的0d0a才认为结束
    所以如果你串口收到的数字中间有0d将导致数据接收不完整
2  原子的2,ATK-NEO-6M GPS模块例程的驱动做的很好   我现在还在用
   不过中间有一个时速问题   即GPS测得的时速在结构体中是一个16位变量且取小数点后3位,
   这样导致一个问题,如果此时出现(提别是车载时)时速大于65.535公里则数据溢出变为0
   修改跟简单将结构体中的时速变量有u16修改为u32即可
3 这个是我在429调试中遇到的一个GUI刷位图慢的情况    现在还不知道是什么问题
  我购买的是429开发板+7寸RGB1024*600的屏
  使用例程自带的GUI刷全屏位图
  GUI_DrawBitmap(&bmpbuffer1,0,0);
bmpbuffer1是我申请的一个外部内存指针  1024*600*2字节大小   里面的数据是事先读取存储到SD卡的位图数据
这一句的下来的刷屏时间大约为1秒左右

而用我自己写的一个程序(调用的也是例程自带的打点函数)
子程序
//veryzhou程序
//显示位图
//x0起始横坐标 y0起始纵坐标
//x1结束横坐标 y1结束纵坐标
//PixelIndex 数据缓存
void LTDC_BITBMP_Display_(u16 x0,u16 y0,u16 x1,u16 y1,u8 *PixelIndex)
{
    u16 i,j;
    u8 *x;
    x=PixelIndex;
    for(j=y0;j<y1;j++)
    {
        for(i=x0;i<x1;i++)
        {
            //ltdc_lcd_framebuf[j]=*(__IO uint16_t*)(x);
            //LTDC_Draw_Point(i,j,*(__IO uint16_t*)(x));//这里如果能不调用他的打点函数将会很快
            *(u16*)((u32)ltdc_framebuf[/*lcdltdc.activelayer*/0]+/*lcdltdc.pixsize*/2*(lcdltdc.pwidth/*1024*/*j+i))=*(__IO uint16_t*)(x);
            x+=2;
        }
    }
}

调用方法为    LTDC_BITBMP_Display(0,0,1024,600,bmpbuffer1);
此时的刷屏时间为150ms左右(定时器计算的时间   开始时定时器计数清零  结束刷图后读计数值)

而后我把GUI调用的打点函数和Draw Bitmap 16 BPP函数都修改为我自己写的程序   位图还是刷的很慢基本还是1秒左右
由于无法进入GUI的刷位图的函数查看      

到目前为止还不知道为什么GUI刷图很慢   而我目前的项目要求刷图很快
不知道有没有大神给

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
veryzhou
1楼-- · 2019-07-20 20:51
怎么发完帖子找不到重新编辑按钮    那位大神给答疑解惑一下
mingjie2015
2楼-- · 2019-07-20 23:11
 精彩回答 2  元偷偷看……
Sparta康
3楼-- · 2019-07-21 01:35
 精彩回答 2  元偷偷看……
jacky0505
4楼-- · 2019-07-21 01:58
你好, 请问你的GUI刷屏解决了没? 我也遇到同样的问题

一周热门 更多>