上一次跑完了官方的RTT工程,感觉速度还不错,遗憾的是支持外设驱动比较少,还是要靠自己。
首先还是惯例,先上屏幕,由于芯片具有高速串口,因此使用串口屏最合适不过。花20块钱在xx上捡漏了一个带触摸的ILI9341串口屏,回来为了验证屏幕好坏,先跑了下官方的lua脚本,发现9341的屏最大只能用到48M,有点小遗憾也是不甘心,于是乎就开始了基于C的移植之旅。
由于官方的luatos源码中的接口和RTT中提供的驱动接口有所不同,最终选择从STM32的DEMO代码中进行移植,经过两个晚上的修改,终于搞定了基于RTT的LCD驱动,然后上电,一把点亮!对这个芯片的好感又提高了不少,说实话,本来是抱着踩坑的心态来玩这个芯片的,没想到结果还是值得惊喜!相信这个芯片后面一定能在xx上占据一席之地。
经过调试优化,目前已经成功的实现了96M的驱动速度,经测试刷屏时间每帧在33ms左右,刚好30FPS,这个速度还是很不错的,无论做一些UI界面还是做摄像头实验,都是能够胜任的,相比好几十大洋的STM32xxx可以说xx了。
测试了100次,耗时3.6s,因为有颜色空间的刷新,所以多花了点时间。
最后留一点遗憾,SPI_Transfer接口的DMA模式会死机,导致无法更进一步提高速度了,就留在后面有机会再处理吧。
下一步:LVGL。