TouchGFX Core开放了几个信号,可用于测量性能。 当这些信号在内部触发时,用户可在应用程序中同步触发单个GPIO,从而实现“渲染时间”和其他有用信号的可视化。
信号在GPIO.hpp
中定义
/* 用于操作GPIO的接口类,以便在目标硬件上进行性能测量 */
class GPIO
{
public:
enum GPIO_ID
{
VSYNC_FREQ, //此引脚在每个VSYNC时切换状态
RENDER_TIME, //当帧渲染开始时,此引脚为高电平;完成时,为低电平
FRAME_RATE, //当帧缓冲交换时,此引脚切换状态
MCU_ACTIVE //当MCU正在工作(即不在空闲任务中)时,此引脚为高电平
};
/* 配置IO引脚的方法 */
static void init();
/**
* 将指定的引脚设置为高电平。
*
* @param id 要设置的引脚标识。
*/
static void set(GPIO_ID id);
/**
* 将指定的引脚设置为低电平。
*
* @param id 要设置的引脚标识。
*/
static void clear(GPIO_ID id);
/**
* 切换指定的引脚状态。
*
* @param id 要切换的引脚标识。
*/
static void toggle(GPIO_ID id);
/**
* 获取指定引脚的状态。
*
* @param id 要获取的引脚标识。
*
* @return 如果引脚为高电平,则返回true;否则返回false。
*/
static bool get(GPIO_ID id);