大家好。
我已经将emWin库移植到我的项目中,并为我的板创建了一个新的diplay驱动程序。
为了测试显示,我从如下示例中复制了非常简单的代码:
GUI_Init();GUI_SetColor(GUI_WHITE);GUI_SetBkColor(GUI_BLACK);GUI_Clear();GUI_FillCircle(40,40,40);
GUI\u Init()成功返回,screen\u power\u on()、screen\u setup()和screen\u enable()函数被正确调用。
但是,GUI\u Clear()、GUI\u FillCircle()函数从来都不起作用。
我给dev\u draw()和一些特定于驱动程序的函数(如screen\u pre\u draw())添加了一些调试打印,但这些函数甚至没有被调用。
关于如何调试这个问题有什么建议吗?
设备:
嗨,火鸟,
请查看我们支持网站上提供的文档和演示。你遵循正确的步骤了吗?
//www.xmece.com/亚博电竞菠菜products/connectivity/bluetooth-low-energy/smartbond-reference-designs/emwin
谢谢,下午好
我遵循了上面几页的指导方针。
所有的显示设置代码工作正常,但emWin从不执行实际的图形代码。
i、 e.未调用gdi\u display\u update()或gdi\u display\u update\u async()。为什么?
我没有使用完全相同的emwin演示代码,因为窗口管理器或图像动画对于我的测试目的来说太多了。
我认为简单的清晰屏幕或画圈应该在不添加复杂代码的情况下工作。
根据文件解释我的问题//www.xmece.com/亚博电竞菠菜products/connectivity/bluetooth-low-energy/smartbond-reference-designs/emwin:
图6显示初始化序列成功。
但是,在图7中,从未调用LCD\u X\u DisplayDriver()中的LCD\u X\u SHOWBUFFER。
在我用GUI\u MULTIBUF\u Begin()/GUI\u MULTIBUF\u End()阻止绘制代码之后,显示工作正常。
结案。