中级会员
 
- 积分
- 239
- 金钱
- 239
- 注册时间
- 2013-12-30
- 在线时间
- 60 小时
|
5金钱
一,器件
原子的战舰板,3.2寸LCD, 芯片为9341
二。实现功能
综合实例作横屏显示
三。异常现象
3.1 开机上电检测时,字符串横屏显示正常
3.2 SPB桌面系统显示异常,但点击屏幕后,图标能显示正常。
SPB导入时,异常
点击原图标位置,图标可以在横屏模式下正常显示
双击原图标位置,能正常进入APP,显示也正常
用仿真器跟踪以下函数
/*******************************************************************************
函数功能 : 设置选中哪个图标
输入参数 : sel:0~8代表当前页的选中ico
输出参数 :
操作说明 : 选中的图标会反亮
*******************************************************************************/
void spb_set_sel(u8 sel)
{
spbdev.selico=sel;
SLCD.show(SLCD.pos);//刷新背景
delay_ms(30);
gui_alphablend_area(spbdev.icos[SLCD.frame][sel].x,spbdev.icos[SLCD.frame][sel].y,spbdev.icos[SLCD.frame][sel].width,spbdev.icos[SLCD.frame][sel].height,SPB_ALPHA_COLOR,SPB_ALPHA_VAL);
minibmp_decode(spbdev.icos[SLCD.frame][sel].path,spbdev.icos[SLCD.frame][sel].x+5,spbdev.icos[SLCD.frame][sel].y,spbdev.icos[SLCD.frame][sel].width,spbdev.icos[SLCD.frame][sel].height,0,0);
gui_show_strmid(spbdev.icos[SLCD.frame][sel].x,spbdev.icos[SLCD.frame][sel].y+67,spbdev.icos[SLCD.frame][sel].width,16,SPB_FONT_COLOR,16,spbdev.icos[SLCD.frame][sel].name);//显示名字
}
SLCD.show(SLCD.pos);//刷新背景 此刷新背景,依然是类似二维码的图像
minibmp_decode(spbdev.icos[SLCD.frame][sel].path,spbdev.icos[SLCD.frame][sel].x+5,spbdev.icos[SLCD.frame][sel].y,spbdev.icos[SLCD.frame][sel].width,spbdev.icos[SLCD.frame][sel].height,0,0); // 图标显示正常
gui_show_strmid(spbdev.icos[SLCD.frame][sel].x,spbdev.icos[SLCD.frame][sel].y+67,spbdev.icos[SLCD.frame][sel].width,16,SPB_FONT_COLOR,16,spbdev.icos[SLCD.frame][sel].name);//显示名字正常
整个LCD驱动,就只是修改了93XX的初始化部分,将竖屏更改为横屏显示 。
// LCD_Display_Dir(0); //默认为竖屏
LCD_Display_Dir(1); //横屏
LCD_LED=1; //点亮背光
专家,战友,同学位,请指点一下,实在是折腾了很久,才发问的,现在的病灶就在SPB的显示部分。。。。。。。感谢!
|
|