|
发表于 2020-9-21 23:30:21
|
显示全部楼层
本帖最后由 435788A 于 2020-9-21 23:32 编辑
我改620b12-71b的程序,71的程序是刷屏加快了的。
改1.14寸tft屏,刷屏速度变慢,后又改用OLED屏,可能是屏幕程序原因,没有1202屏刷的快。
lcd_gotoxy(x,y+1);//这个是设置 X,Y 坐标的
在 int menuProcess(int btns){ 函数里 mask 是设置1202屏正常显示, 反色显示的
//if ( menu[menuCurrent].parent>= 0 ){ lcd_gotoxy(0,0);lcd_putstr(menu[menuCurrent].name,1); }
if ( menu[menuCurrent].parent>= 0 ){ OLED_ShowString(0,0,menu[menuCurrent].name,8,1); }//显示菜单名
//lcd_gotoxy(6*14,0);
if(min != menu[menuCurrent].first) OLED_ShowString(6*14,0,"<",8,1);else OLED_ShowString(6*14,0," ",8,1);//lcd_putstr(" ",0);
if(max != menu[menuCurrent].last) OLED_ShowString(6*14,0,">",8,1);//lcd_putstr(">",0);
OLED_ShowString(6*14,0,"",8,1);//lcd_putstr("",1);
for(int i = 0 ; i <= (max-min); i++)// display items 显示项目
{
mask = 0x00;
// if( (min + i + 1) == selected) mask = 0x80;
// lcd_gotoxy(0,i+2);
if(selected == (min+i) ) mask = 0xFF;
// lcd_putstr(menu[min + i].name,1);
if(mask == 0x00)OLED_ShowString(0,(i+2)*8,menu[min + i].name,8,1);//显示选项的内容
else OLED_ShowString(0,(i+2)*8,menu[min + i].name,8,0);//反色显示
if(menu[min + i].d != NULL)
{
menu[min + i].d(min + i,tmpStr,0);
if( (selected == (min+i)) && editable )mask = 0x00;
// lcd_gotoxy(6*(16 - strlen(tmpStr)),i+2);
// lcd_putstr(tmpStr,1);
OLED_ShowString(6*(16 - strlen(tmpStr)),(i+2)*8,tmpStr,8,1);//显示--或OK
}
}
就这样,通道平衡和短路校准菜单正常,但是在设置菜单里,调节时显示的参数会混乱 |
评分
-
1
查看全部评分
-
|