stm32f411 HAL ssd1289

时间:2017-12-27 18:13:40

标签: stm32 stm32f4discovery hal

我和ssd1289 @ stm32f411v争吵了一段时间。我在屏幕上刷新数据有问题。 bmp180等温度变量的变化似乎没有刷新。屏幕上的字符串是一个接一个地放在一起而没有清除背景。我写了功能清理整个屏幕,但它慢了,屏幕开始闪烁:

void LCD_Clear(void) {
     uint32_t i = 0;
     LCD_SetWindow(0,0,320,240);
     LCD_write_command(0x0022);
     for (i = 0; i < 320*240; i++) { LCD_write_data(0x0000); }
}

我尝试使用65Hz刷新和降低freq ::

的定时器中断
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){
      if ( htim ->Instance == TIM3 ){
         LCD_Clear();
         LCD_PutStr(10,30,temperature,RGB565(255,192,255));
         LCD_PutStr(60,30,pressure,RGB565(255,192,255));
      }
}

并且在调试时我有错误:

  

信息:请求暂停时,目标未运行,停止GDB。

当我删除LCD_Clear();从功能上我有开始时描述的症状。

任何想法都有问题。

1 个答案:

答案 0 :(得分:0)

AS PeterJ_01说:执行时间太长了。

在中断时我不会只清除整个屏幕:)