无法更改LCD\U CR寄存器的值
我目前正在玩L152C发现板,并尝试制作简单的时钟,将RTC内置到STM32和板载玻璃LCD中,LCD HAL库通过CubeMX配置。 但我目前面临着一个无法解决的问题: CubeMX没有在无法更改LCD\U CR寄存器的值,c,arm,stm32,lcd,stm32cubemx,C,Arm,Stm32,Lcd,Stm32cubemx,我目前正在玩L152C发现板,并尝试制作简单的时钟,将RTC内置到STM32和板载玻璃LCD中,LCD HAL库通过CubeMX配置。 但我目前面临着一个无法解决的问题: CubeMX没有在LCD\u CR寄存器中启用段mux的选项。我想启用它,因为它将使段映射更容易 所以我想,好吧,我将进行直接寄存器操作,启用mux(LCD\u CR中的位7)。 我使用命令LCD->CR |=LCD_CR_MUX_SEG但即使在执行该命令之后,MUX_SEG位仍然是零。(我在调试会话中使用命令步进和SFRs内
LCD\u CR
寄存器中启用段mux的选项。我想启用它,因为它将使段映射更容易
所以我想,好吧,我将进行直接寄存器操作,启用mux(LCD\u CR中的位7)。
我使用命令LCD->CR |=LCD_CR_MUX_SEG
但即使在执行该命令之后,MUX_SEG
位仍然是零。(我在调试会话中使用命令步进和SFRs内存映射进行了检查)
我做错什么了吗?或者是否有其他方法可以更改CubeMX配置但没有此设置选项的图形实现的初始化参数
应用程序正在使用FreeRTOS,我执行了LCD->CR |=LCD_CR_MUX_SEG代码>在HAL\u LCD\u Init(&hlcd)之后代码>因此我确认LCD外围时钟正在运行(并且段正在更新)
我录制了一段短视频,显示了这个问题:
老实说,我不擅长直接的寄存器操作,所以我可能做错了什么
任何帮助都将不胜感激 正如@KIIV所说:
RM0038液晶显示控制器(LCD)注:当LCD启用时,VSEL、MUX_SEG、偏置和占空比位受写保护(LCD_SR中的ENS位为1)
更改上述寄存器时,必须禁用LCD。RM0038液晶显示控制器(LCD)注意:当LCD启用时,VSEL、MUX_SEG、偏置和占空比位具有写保护(LCD_SR中的ENS位为1)。哦,我错过了这一点。谢谢