请教一下stm32开发板LCD显示函数放到while循环里失效问题

2401_84132260 2401_84132260 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

经过测试多次发现  LCD_DisplayStringLine函数放到while外面是可以正常显示的,但放到循环中无显示且led(0x02)函数所控制的灯泡发出十分微弱的光,尝试过加入延时函数灯泡亮度恢复正常但屏幕仍无显示。代码如下

int main(void)
{
 
  HAL_Init();
  LCD_Init();
    LCD_Clear(White);
    LCD_SetBackColor(Black);
    LCD_SetTextColor(White);
  LCD_DisplayStringLine(Line0,(uint8_t*)"hello world");

 


  SystemClock_Config();

 
  MX_GPIO_Init();

  while (1)
  {

    lcd_prco();
        
    }

}

void lcd_prco(void){
    
    sprintf(buf,"shijian:%d",shijian);
    LCD_DisplayStringLine(Line2,(uint8_t *)buf);
    led(0x02);
   
}

//lcd函数库中的

void LCD_DisplayChar(u8 Line, u16 Column, u8 Ascii)
{
    Ascii -= 32;
    LCD_DrawChar(Line, Column, &ASCII_Table[Ascii * 24]);
}

void LCD_DisplayStringLine(u8 Line, u8 *ptr)
{
    u32 i = 0;
    u16 refcolumn = 319;//319;

    while ((*ptr != 0) && (i < 20))     //    20
    {
        LCD_DisplayChar(Line, refcolumn, *ptr);
        refcolumn -= 16;
        ptr++;
        i++;
    }

}

求各位大神解惑

 

...全文

相关推荐

评论
收藏 已收藏
分享
返回顶部
2401_84132260
单片机/工控 27,522 成员 28,796 内容