Mr.LT 发表于 2019-9-10 14:09:31

关于断码液晶驱动问题,求救

HAL_LCD_Write(&hlcd, LCD_RAM_REGISTER1, 0xfffbf, (uint32_t)((digit& 0x08) << 3));/* 1D X X X */
HAL_LCD_Write(&hlcd, LCD_RAM_REGISTER2, 0xfffeffff, (uint32_t)((digit& 0x08) << 17));/* 1E X X */
我再同一个显示位置,用到的SEG线,既有COM0的LCD_RAM_REGISTER1 (S32到S47位)中S38像上面写对吗?因为超出了32位了,不知道怎么移位,是直接以为多出32的位数吗

stm1024 发表于 2019-9-11 10:09:58

寄存器是32位的,你用两个uint32就可以了

发表于 2019-9-11 10:32:59

两种方法,两个不同寄存器用两个不同的变量来分开控制。或者定义一个64位的数,uint64_t,写入数据时,写高位时,可以用>>32位实现。

maxtch 发表于 2019-9-11 10:45:48

这个是显存。我建议在显存以外设置两个变量来存放修改后的显示数据,完成修改后关中断一次性写入显存里。

wudianjun2001 发表于 2019-9-11 13:14:21

分成2个32位的写就行了,官方有例程和库的了,参考改改就行了
页: [1]
查看完整版本: 关于断码液晶驱动问题,求救