【发布时间】:2021-01-21 12:40:18
【问题描述】:
我目前正在使用 L152C 探索板并尝试制作简单的时钟,该时钟将使用 STM32 内置的 RTC 和通过 CubeMX 配置的 LCD HAL 库的板载玻璃 LCD。
但我目前面临一个我无法理解的问题:
CubeMX 没有在LCD_CR 寄存器中启用段复用的选项。我想启用它,因为它会使段映射更容易。
所以我想,好吧,我将直接进行寄存器操作,启用多路复用器(LCD_CR 中的第 7 位)。
我使用了命令LCD->CR |= LCD_CR_MUX_SEG; 但即使在执行命令之后,MUX_SEG 位仍然是零。 (我使用命令步进和 SFR 内存映射检查了调试会话)
有什么我做错了吗?还是有其他方法可以更改 CubeMX 配置但没有此设置选项的图形实现的初始化参数?
应用程序正在使用 FreeRTOS,我在 HAL_LCD_Init(&hlcd); 之后执行了 LCD->CR |= LCD_CR_MUX_SEG;,所以我认为 LCD 外围时钟正在运行(并且段正在更新)。
我录制了一个简短的视频来展示这个问题: https://youtu.be/0X6Zu5EPudU 老实说,我不擅长直接操作寄存器,所以我可能做错了什么。
任何帮助将不胜感激!????
【问题讨论】:
-
RM0038 液晶显示控制器 (LCD) 注意:当 LCD 使能(LCD_SR 中的 ENS 位为 1)时,VSEL、MUX_SEG、BIAS 和 DUTY 位被写保护。
-
哦,我错过了。谢谢。
标签: c arm stm32 lcd stm32cubemx