void OLED_ShowStr(unsigned char x, unsigned char y, unsigned char ch[], unsigned char TextSize) { unsigned char c = 0,i = 0,j = 0; switch(TextSize) { case 1: { while(ch[j] != '\0') { c = ch[j] - 32; if(x > 126) { x = 0; y++; } OLED_SetPos(x,y); for(i=0;i<6;i++) WriteDat(F6x8[c][i]); x += 6; j++; } }break; case 2: { while(ch[j] != '\0') { c = ch[j] - 32; if(x > 120) { x = 0; y++; } OLED_SetPos(x,y); for(i=0;i<8;i++) WriteDat(F8X16[c*16+i]); OLED_SetPos(x,y+1); for(i=0;i<8;i++) WriteDat(F8X16[c*16+i+8]); x += 8; j++; } }break; } }
时间: 2023-07-16 22:12:02 浏览: 175
STM32f103 通过I2C显示字符到OLED屏幕上
这段代码实现了在OLED显示屏上显示字符串的功能。其中x和y参数分别指定了字符串显示的起始位置。ch[]参数表示要显示的字符串,TextSize参数表示显示的字符大小,可以为1或2。当TextSize为1时,使用6x8像素的字体显示;当TextSize为2时,使用8x16像素的字体显示。在代码中,使用了两种字体的字符数据数组F6x8和F8X16,通过循环遍历字符串中的每个字符,从字符数据数组中取出对应的字体数据,并通过OLED_SetPos函数将数据写入OLED屏幕的对应位置。最终在OLED屏幕上显示出输入的字符串。
阅读全文