【前言】
在TouchGFX Designer中,如果设计的工程比较大,下载到开发板需要费许多的时间。用摸拟器可以实时实现所见即所得,不用下载到开发板就可以查看实时效果。同时如果混合C编程,那么也会影响到摸拟器的运行,因此需要使用条件编译来实现,即SIMULATOR。
【定义只在摸拟器中运行】
在官方文档中有如下图所示的标注:

为此在示例工程中添加一个按键测试:

【代码添加】
在Screen1View.hpp中添加我们在TouchGFX Desiger中添加好的按键按下的函数。

同时在Screen1View.cpp中实现他,在实现之前需添加头文件:#include <touchgfx/Utils.hpp>
添加好后添加内容如下:
#include <gui/screen1_screen/Screen1View.hpp>
#ifdef SIMULATOR
#include <touchgfx/Utils.hpp>
#endif
Screen1View::Screen1View()
{
}
void Screen1View::setupScreen()
{
Screen1ViewBase::setupScreen();
}
void Screen1View::tearDownScreen()
{
Screen1ViewBase::tearDownScreen();
}
void Screen1View::simulator_test()
{
#ifdef SIMULATOR
touchgfx_printf("Button pressed\n");
#endif
}然后我们在模拟器中就可以实现按键按下输出打印的信息了:

【屏蔽在模拟器中运行】
当然,如果我们需要用到的一些代码,是在真机上运行的,如果不做处理,就会影响到模拟器在运行时报错,比如说,我们在代码中引入#include "main.h",如果不做处理就会在模拟器运行时报错:

那么,我们就需要添加条件编译:
#ifndef SIMULATOR #include "main.h" #endif
这样,就可以实现在摸拟器成功的运行了。
我要赚赏金
