This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/TM4C123GH6PM:屏幕未更新中功能- KV350Q

Guru**** 1791630 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/568775/ccs-tm4c123gh6pm-screen-not-updating-mid-function---kv350q

器件型号: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 驱动程序。  

除了我要更改屏幕中间功能的任何位置之外、我的所有其他图形调用都可以正常工作。  我似乎无法将缓冲区自动刷新到屏幕。

帮助!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我明白了... 现在看起来很明显...

    我需要添加 WidgetMessageQueueProcedure(),以代替尝试 Graush 调用的位置。

    也许这会帮助其他人!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    太棒了! 您有多好的关注、能够更新论坛并指导他人。 非常罕见——非常感谢——谢谢! (我想打十次-即使是大拇指疼!)