请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TM4C123GH6PM 工具/软件:Code Composer Studio
您好!
我使用 Tiva C launchpad 通过步进电机和测压元件运行一个小测试站。 我正在使用 BOOSTXL-KV350QVG 触摸屏-具有 SPI 接口的较新版本。
我有一个名为"StartTest"的按钮、用于开始移动电机并测量称重传感器-此时、我想更新进度屏幕。 目前、我只是尝试更新文本框、基本上是将"StartTest"按钮灰显、这样操作员就能识别正在进行的测试。
但是、我正在进行 MID 功能的小组件调用不会重新写入屏幕。 在功能结束时、屏幕会更新、但操作员只会看到在其他情况下会显示的最后一个更改(我认为它是在完成功能后写入中间更改、但刷新速度太快、无法看到)。 我通过添加返回进行了实验;行的中间功能、然后屏幕更新为中间更改。 GrFlush (&sContext);似乎没有什么不同。 我出了什么问题?
void OnStartTestButton (tWidget *pWidget) { //在测试 TurnOffStartTest 期间禁用测试并返回到主按钮();//这些函数只是一组调用,以使几个按钮在测试 期间消失在 TurnReturnToMain ();//使用测量值开始驱动 CanvasTextSet (&g_TestingResults、"...CongetText");(&g) //这似乎不会执行任何操作 //如果我添加 return;在这里,“下移”文本会显示出来,StartTest 和 ReturntoMain 按钮会按预期 的 SysCtlDelay (50000000)关闭;//使用此按钮模拟测试 CanVasTextSet 的时间(&g_TestingResults,“...成功...”);//不是? WidgetPaint ((tWidget *)&g_TestingResults); //如果我添加 return;在这里,我看到“成功”文本,按钮仍按预期关闭 //启用带有新文本的测试按钮并返回到主 PushButtonTextSet (&g_StartTestButton,“测试另一个”); TurnOnStartTest(); TurnOnReturnToMain(); Grahush (_sContext); //这不起任何作用 //我最终看到的所有内容都是“测试另一个”,并且我的按钮已打开 }
我使用的是 TivaWare 中包含的 Kentec320x240x16_ssd2119_SPI 驱动程序。
除了我要更改屏幕中间功能的任何位置之外、我的所有其他图形调用都可以正常工作。 我似乎无法将缓冲区自动刷新到屏幕。
帮助!