2017-12-27 3 views
0

언젠가 ssd1289 @ stm32f411v와 고민하고 있습니다. 화면에서 데이터를 새로 고치는 데 문제가 있습니다. bmp180 등의 온도 변화와 같은 변화는 새로 고쳐지지 않는 것 같습니다. 화면의 문자열은 배경을 지우지 않고 서로 겹쳐집니다.stm32f411 HAL ssd1289

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의 상쾌하고 낮은 주파수 :: 디버깅에

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()를 제거하면; timfunction에서 나는 처음에 설명한 증상이 있습니다.

어떤 아이디어가 잘못 되었나요?

+0

인터럽트 처리기 실행 시간이 너무 깁니다. –

답변

0

AS PeterJ_01 메시지 : 실행 시간이 너무 깁니다.

전체 화면을 부분적으로 지우지 않습니다.

관련 문제