嗨,团队。
我已经将emWin库移植到我的项目中,并为我的主板创建了一个新的显示驱动程序。
为了测试显示,我从下面的例子中复制了非常简单的代码:
GUI_Init ();GUI_SetColor (GUI_WHITE);GUI_SetBkColor (GUI_BLACK);GUI_Clear ();GUI_FillCircle(40、40、40);
GUI_Init()成功返回,并正确调用了screen_power_on()、screen_setup()和screen_enable()函数。
但是,GUI_Clear(), GUI_FillCircle()函数从不工作。
我已经将一些调试打印放到了dev_draw()和一些驱动程序特定的函数(如screen_pre_draw())中,但是这些函数甚至没有被调用。
关于如何调试这个问题,有什么建议吗?
设备:
嗨火鸟,
请查看我们的支持网站上提供的文档和演示。你遵循了正确的步骤吗?
//www.xmece.com/亚博电竞菠菜products/connectivity/bluetooth-low-energy/smartbond-reference-designs/emwin
谢谢,PM_Dialog
我已按照上述网页的指引行事。
所有显示设置代码工作良好,但emWin从不执行实际绘图代码。
即gdi_display_update()或gdi_display_update_async()没有被调用。为什么?
我没有使用emwin演示代码完全相同,因为窗口管理器或图像动画对我的测试目的来说太多了。
我认为简单的清晰屏幕或绘制圆应该在不添加复杂代码的情况下工作。
根据文档来解释我的问题//www.xmece.com/亚博电竞菠菜products/connectivity/bluetooth-low-energy/smartbond-reference-designs/emwin:
图6显示初始化序列成功。
但是,在图7中,LCD_X_DisplayDriver()中的LCD_X_SHOWBUFFER从未被调用。
在我用GUI_MULTIBUF_Begin()/GUI_MULTIBUF_End()阻塞绘图代码后,显示工作正常。
情况下关闭。