STM32F072 TSC+STMTouch 时间占用测量

/ 0评 / 1

网上一直有人说STMTouch效率很低,我就来试试看.使用官方程序,设置一个IO,代表TSC高电平就是占用的系统时间.BSRR意思是Set RR,另一个就是RESET了.

void TSCx_EXTI_IRQHandler(void)
{
  GPIOC->BSRR = GPIO_PIN_7;
  HAL_TSC_IRQHandler(&TscHandle);
  GPIOC->BRR = GPIO_PIN_7;
}

无触摸状态下,1.53%的CPU使用.

连续采样情况下,占用1.686%的CPU,并没网上说的占了一半的时间那么夸张.

如果关掉接近传感,如图:

结果连续采样时候处理时间还延长了.

如果追求极致优化.把占用下降到1%以下,估计还是比较麻烦的.根据实际测试,无论使用何种编译方式,占用的ROM和RAM都差不多.大约都为5K ROM,128B RAM,如果上了操作系统,这样资源占用就可以忽略了,在有效中断的时候,才进入检测,否则不检测.最低优先级任务轮询等等,当普通按键就行.反正我猜测,极限差情况下,也不会超过2%占用.

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注