搜索
查看: 817|回复: 1

[求助] STM8L的LCD调试时不亮

[复制链接]

该用户从未签到

1

主题

1

帖子

0

蝴蝶豆

新手上路

最后登录
2021-5-16
发表于 2020-10-17 17:45:59 | 显示全部楼层 |阅读模式
STM8L052驱动LCD字段屏,烧录成功程序后上电复位LCD屏能显示,但是在DEBUG时LCD屏不亮。用万用表测量,DEBUG模式SEG和COM口之间没有压差,上电复位正常显示时压差在1V左右。

DEBUG模式没有打断点,直接全速运行。
求各位大佬指教!!!!!


附程序如下:
void main(void)
{

        GPIO_Init(GPIOD,GPIO_Pin_5,GPIO_Mode_Out_PP_Low_Fast);
        GPIO_SetBits(GPIOD,GPIO_Pin_5);
       
  /* Configures the LCD GLASS relative GPIO port IOs and LCD peripheral */
          LCD_GLASS_Init();


  /* Enable RTC clock */
          CLK_PeripheralClockConfig(CLK_Peripheral_RTC, ENABLE);
#if 1  
  /* Configures the RTC */
          RTC_WakeUpClockConfig(RTC_WakeUpClock_CK_SPRE_16bits);
          RTC_ITConfig(RTC_IT_WUT, ENABLE);

  /* Enable general Interrupt*/
          enableInterrupts();
#endif
        LCD->RAM[LCD_RAMRegister_0] =  0x00;
        LCD->RAM[LCD_RAMRegister_0] =  0xff;
        LCD->RAM[LCD_RAMRegister_1] =  0x00;
        LCD->RAM[LCD_RAMRegister_1] =  0xff;
        LCD->RAM[LCD_RAMRegister_2] =  0x00;
        LCD->RAM[LCD_RAMRegister_2] =  0xff;
        LCD->RAM[LCD_RAMRegister_3] =  0x00;
        LCD->RAM[LCD_RAMRegister_3] =  0xff;
        LCD->RAM[LCD_RAMRegister_4] =  0x00;
        LCD->RAM[LCD_RAMRegister_4] =  0xff;
        LCD->RAM[LCD_RAMRegister_5] =  0x00;
        LCD->RAM[LCD_RAMRegister_5] =  0xff;


  while (1)
  {
          LCD->RAM[LCD_RAMRegister_0] =  0x00;
          LCD->RAM[LCD_RAMRegister_0] =  0xff;
  }
}


/**
  * @brief  Configures the LCD GLASS relative GPIO port IOs and LCD peripheral.
  * @param  None
  * @retval None
  */
void LCD_GLASS_Init(void)
{

  /*
    The LCD is configured as follow:
     - clock source = LSE (32.768 KHz)
     - Voltage source = Internal
     - Prescaler = 2
     - Divider = 18 (16 + 2)  
     - Mode = 1/4 Duty, 1/3 Bias
     - LCD frequency = (clock source * Duty) / (Prescaler * Divider)
                     = 228 Hz ==> Frame frequency = 57 Hz */

//        CLK_PeripheralClockConfig(CLK_Peripheral_RTC, ENABLE);
        /* Enable LCD clock */
        CLK_PeripheralClockConfig(CLK_Peripheral_LCD, ENABLE);
        CLK_RTCClockConfig(CLK_RTCCLKSource_LSE, CLK_RTCCLKDiv_1);
       
        LCD_DeInit();
        /* Initialize the LCD */
        LCD_Init(LCD_Prescaler_2, LCD_Divider_18, LCD_Duty_1_4,
                         LCD_Bias_1_2, LCD_VoltageSource_External);//LCD_VoltageSource_InternalLCD_VoltageSource_External

        /* Mask register*/
        LCD_PortMaskConfig(LCD_PortMaskRegister_0, 0xFF);
        LCD_PortMaskConfig(LCD_PortMaskRegister_1, 0x00);
        LCD_PortMaskConfig(LCD_PortMaskRegister_2, 0x00);
        LCD_PortMaskConfig(LCD_PortMaskRegister_3, 0x00);

        LCD_ContrastConfig(LCD_Contrast_Level_7);
        LCD_DeadTimeConfig(LCD_DeadTime_0);
        LCD_PulseOnDurationConfig(LCD_PulseOnDuration_1);
//        Delay_Ms(80);
        LCD_Cmd(ENABLE); /*!< Enable LCD peripheral */
}

回复

使用道具 举报

该用户从未签到

3

主题

1306

帖子

929

蝴蝶豆

版主

最后登录
2021-3-31
发表于 2020-10-26 16:59:14 | 显示全部楼层
看看晶振在调试时是否震荡有异常
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-4-20 13:48 , Processed in 1.137580 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表