This commit is contained in:
2023-10-06 15:07:07 +08:00
parent df1cef55ca
commit 7f26d5056d
43 changed files with 3762 additions and 2311 deletions

View File

@@ -385,6 +385,43 @@ void ABS_OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size1,u8 mode)
}
}
//z_len为整数显示位数f_len为小数显示位数size2为字体大小
void ABS_OLED_Showdecimal(u8 x,u8 y,float num,u8 z_len,u8 f_len,u8 size2,u8 mode)
{
u8 t,temp;
u8 enshow;
int z_temp,f_temp;
z_temp=(int)num;
//整数部分
for(t=0;t<z_len;t++)
{
temp=(z_temp/ABS_OLED_Pow(10,z_len-t-1))%10;
if(enshow==0 && t<(z_len-1))
{
if(temp==0)
{
ABS_OLED_ShowChar(x+(size2/2)*t,y,' ',size2,mode);
continue;
}
else
enshow=1;
}
ABS_OLED_ShowChar(x+(size2/2)*t,y,temp+'0',size2,mode);
}
//小数点
ABS_OLED_ShowChar(x+(size2/2)*(z_len),y,'.',size2,mode);
f_temp=(int)((num-z_temp)*(ABS_OLED_Pow(10,f_len)));
//小数部分
for(t=0;t<f_len;t++)
{
temp=(f_temp/ABS_OLED_Pow(10,f_len-t-1))%10;
ABS_OLED_ShowChar(x+(size2/2)*(t+z_len)+5,y,temp+'0',size2,mode);
}
}
/*函数ABS_OLED_ShowChinese
**描述:在指定位置打印中文字符
**参数1x1起始x坐标 取值返回小于ABS_OLED_WIDTH
@@ -571,6 +608,7 @@ ABS_OLED_Drive Create_OLED(void){
drive.ShowString=ABS_OLED_ShowString;
drive.ShowChinese=ABS_OLED_ShowChinese;
drive.ShowNum=ABS_OLED_ShowNum;
drive.Showdecimal=ABS_OLED_Showdecimal;
drive.ShowImage=ABS_OLED_ShowPicture;
ABS_OLED_Init();
return drive;