中级会员 
   
	- 积分
 - 359
 
        - 金钱
 - 359 
 
       - 注册时间
 - 2019-6-11
 
      - 在线时间
 - 52 小时
 
 
 
 | 
 
 
 楼主 |
发表于 2020-3-13 10:02:29
|
显示全部楼层
 
 
 
 
是的左工,你说的这些我认可,我也明白这是算法方面的了。 
但是我打个比方哈: 
比如在我们画圆的入口参数,我设定为(0,0,300); 
那么第一次进到while循环内时候,且这个情况下 
lcd_drawpoint(-x + mx, -y + my, tftlcd_dev.forecolor);此时的mx = my =0; x=0,y=300; 
在进到画点函数: 
*(unsigned int*)((unsigned int)tftlcd_dev.framebuffer +  
                             tftlcd_dev.pixsize * (tftlcd_dev.width * y+x))=*(unsigned int*)(0x89000000+4*(1024*(-300)+0))= *(unsigned int*)(0x89000000 -300*1024*4) = color; 
这样一眼就看出来了,这次写入的地址跟定不是在我们设定的0x89000000+2M的范围了,俄日是小于0x89000000的地址了。我的问题就是为啥我们往不是我们设定的缓存地址写数据还能显示出来到lcd呢? |   
 
 
 
 |