無唁苡對
获得 19 次赞
帮助过8人
我想把字体变大一点,下面这个程序显示16*16的字体正常,怎么把它改为48*48的字体????//显示一个字符void OLED_ShowChar(u8 xu8 yu8 chr){ unsigned char c=0i=0; c=chr-' ';//µÃµ½Æ«ÒƺóµÄÖµ if(x>Max_Column-1){x=0;y=y+2;} if(SIZE ==16) { OLED_Set_Pos(xy); for(i=0;i<8;i++) OLED_WR_Byte(F8X16[c*16+i]OLED_DATA); OLED_Set_Pos(xy+1); for(i=0;i<8;i++) OLED_WR_Byte(F8X16[c*16+i+8]OLED_DATA); } else { OLED_Set_Pos(xy+1); for(i=0;i<6;i++) OLED_WR_Byte(F6x8[c][i]OLED_DATA); }}//显示一个字符串void OLED_ShowString(u8 xu8 yu8 *chr){ unsigned char j=0; while (chr[j]!='\0') { OLED_ShowChar(xychr[j]); x+=8; if(x>120){x=0;y+=2;} j++; }}//显示数字void OLED_ShowNum(u8 xu8 yu32 numu8 lenu8 size){ u8 ttemp; u8 enshow=0; for(t=0;t<len;t++) { temp=(num/oled_pow(10len-t-1))%10; if(enshow==0&&t<(len-1)) { if(temp==0) { OLED_ShowChar(x+(size/2)*ty' '); continue; }else enshow=1; } OLED_ShowChar(x+(size/2)*tytemp+'0'); }}
我想显示32*32的字符,但是下面的代码一直显示错误,是那儿的问题????void OLED_ShowChar32(u8 xu8 yu8 chr){ unsigned char c=0i=0; c=chr-' '; if(x>127){x=0;y=y+2;} OLED_Set_Pos(xy); for(i=0;i<16;i++) OLED_WR_Byte(F16X32[c*32+i]OLED_DATA); OLED_Set_Pos(xy+1); for(i=0;i<16;i++) OLED_WR_Byte(F16X32[c*32+i+16]OLED_DATA); }void OLED_ShowString32(u8 xu8 yu8 *chr){ unsigned char j=0; while (chr[j]!='\0') { OLED_ShowChar32(xychr[j]); x+=8; if(x>120){x=0;y+=2;} j++; }}
__weak void HAL_Delay(uint32_t Delay) { uint32_t tickstart = HAL_GetTick(); uint32_t wait = Delay; /* Add a freq to guarantee minimum wait */ if (wait < HAL_MAX_DELAY) { wait += (uint32_t)(uwTickFreq); } while((HAL_GetTick() - tickstart) < wait) { } } 总是死在HAL_Delay()中,这怎么回事???