RA6807是RA8876M的缩小版,具备RA8876M的所有功能,只将MCU控制接口进行缩减,仅保留SPI-3和I2C接口,其它功能基本相同。
该芯片最大可控制854x600的分辨率,内建64Mbits显存,多个图层,使用起来相当灵活!
继续讲解软件代码,我们使用SPI-3进行演示。参考代码请使用PC端浏览器访问本贴,在标题下方找到下载链接。
8. 淡入淡出效果的实现
图片可以正常显示了,那么我们来玩一下一个非常酷的功能:淡入淡出。实现这个功能是通过RA6807硬件处理运算,不需要耗费单片机的资源,如下实际效果:
该过程实现代码如下:
//第1~5张是BMP图片,循环调出2张并进行过渡切换演示for(n=0;n<4;n++){DMA_24bit(CS1,0,0,480*1,800,480,BINARY_INFO[n].img_width,BINARY_INFO[n].start_addr);DMA_24bit(CS1,0,0,480*2,800,480,BINARY_INFO[n+1].img_width,BINARY_INFO[n+1].start_addr);for(a=0;a<=32;a=a+2){BTE_Alpha_Blending(0,canvas_image_width,0,480*1,0,canvas_image_width,0,480*2,0,canvas_image_width, 0,0,800,480,a);delay_ms(5); //延时请根据单片机速度调整}}
上例,分别DMA出来2张图片,放在显存中,然后,再使用BTE_Alpha_Blending这个函数进行淡入淡出的效果,下图对该函数进行解说:
调用这个函数,控制alpha值的大小,再加上循环,就实现了淡入淡出的效果了!
这个功能若是想使用单片机来运算处理,那会占据相当大的资源,而使用RA6807来做,只要一条指令就可以实现这样的效果了!是不是还是很简单?
本章结束,下文继续说明介绍,敬请持续关注!
更多信息请访问论坛:https://bbs.lcdvision.com.cn