完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
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 */ } |
|
相关推荐
2个回答
|
|
看看晶振在调试时是否震荡有异常
|
|
|
|
在调试STM8L的LCD时,如果LCD屏幕不亮,可能有以下几个原因:
1. 电源问题:检查LCD屏幕的电源连接是否正确,确保屏幕能够正常供电。 2. 驱动问题:查看LCD屏幕的驱动程序是否正确配置,包括引脚配置、时钟频率以及通信协议等。确保LCD驱动程序正确地发送数据到LCD屏幕。 3. 引脚连接问题:确保LCD引脚连接正确,没有接错或松动。 4. 电压问题:在调试模式下与正常运行模式下的LCD屏幕供电电压有差异,可能是因为调试模式下的电流不够大,造成供电不稳定。可以尝试增加LCD屏幕的供电电流或更换电源模块。 5. 软件设置问题:检查LCD屏幕的初始化和配置函数是否正确调用,并且检查是否有其他代码会影响LCD屏幕的正常工作。 在你提供的程序中,只有对GPIO的初始化和设置的代码,没有初始化LCD屏幕和配置显示的代码,因此很难判断问题所在。建议你仔细检查LCD屏幕的初始化和配置代码,并确保正确地发送数据到LCD屏幕。 |
|
|
|
只有小组成员才能发言,加入小组>>
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
435 浏览 1 评论
285 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
249 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
615 浏览 2 评论
645 浏览 2 评论
1374浏览 9评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
78浏览 3评论
43浏览 3评论
STM32CUBEMX4.22.1在main函数里面添加一行语句就死机的原因?
55浏览 3评论
48浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-5-1 16:20 , Processed in 0.825204 second(s), Total 47, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号