12864 180度翻转显示,前4列没了,如何解决?
用的是 JLX12864G-9303 用的是 ST7565正常方向显示,都没问题,,外壳受限,需要翻过来显示,改下扫描方式就翻过来了,,但是前4列没了。。不知道哪时还要修改
这是正常显示
下面是翻转后显示
瞎猜一下:改一下起始列? lizengmao 发表于 2020-12-14 13:40
瞎猜一下:改一下起始列?
我也想改一下起始列,不知道怎么改
void Lcd_Address(uint8_t page,uint8_t column)
{
column=column-1;
page=page-1;
transfer_command(0xb0+page);
transfer_command(((column>>4)&0x0f)+0x10); //列地址高四位
transfer_command(column&0x0f); //列地址低四位
}
0x10应该是起始列吧,修改这个都乱码了 有朋友知道怎么改吗,我实在没看明白怎么改
找了JLX的售后,给了二个技术人员联系方式 ,他们技术都不通过。。联系不上。二天发好几次消息,基本属于没有技术支持那种。。。。 RAM开辟一个128*64bit的缓冲期,写屏,只改ram,然后定时将ram更新到屏幕。更新屏幕的时候,还用正向显示寄存器,在ram里面映射一下方向,只操作ram应该不是很麻烦。 friendljy 发表于 2020-12-15 11:45
RAM开辟一个128*64bit的缓冲期,写屏,只改ram,然后定时将ram更新到屏幕。更新屏幕的时候,还用正向显示寄 ...
这样也是可的,实在没办法,就所有字库,取模的时候,倒过来。最笨的办法 将 LCD 反过来用那原先上头的偏光片及最佳可视角度都会不对了。
zhuyi25762 发表于 2020-12-15 11:30
有朋友知道怎么改吗,我实在没看明白怎么改
找了JLX的售后,给了二个技术人员联系方式 ,他们技术都不通过 ...
void Set_LCD_StarAddr(unsigned char StartPage,unsigned char StartRow)
{
#if DIS_USE_STYLE==0 //原始显示方式
#elif DIS_USE_STYLE==1 //旋转后少4列的显示方式
StartRow+=4; //起始+4
#endif
Write_Cmd(0xb0+StartPage);
Write_Cmd(0x10|(StartRow>>4)); //列地址高位
Write_Cmd(0x0f&StartRow);
}
这个函数这样改试试,JLX的屏可以找他们叶工 本帖最后由 zhuyi25762 于 2020-12-15 14:35 编辑
xcmkj 发表于 2020-12-15 13:59
void Set_LCD_StarAddr(unsigned char StartPage,unsigned char StartRow)
{
#if DIS_USE_STYLE==0 ...
谢谢....50汤圆,略表感谢
这样可以了。。。我一直写的是 -4。。。原来是 +4 不知道我脑子怎么想的,一直想的是减 4
不过上面说了,反过来确实视角不对,45度看,就看不见了,,,看来还是要正着用,结构上再想办法
页:
[1]