标题:
关于OLED显示程序的问题 OLED_P8x16Str函数 如何识别我要显示的字符串正确显示出来
[打印本页]
作者:
zhang32568
时间:
2024-4-12 15:45
标题:
关于OLED显示程序的问题 OLED_P8x16Str函数 如何识别我要显示的字符串正确显示出来
在学习OLED12864显示。其中显示字符串函数。
const unsigned char code F8X16[]= //
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,// 0
0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x30,0x00,0x00,0x00,//!1
0x00,0x10,0x0C,0x06,0x10,0x0C,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//"2
}更多的代码没有贴上,大家知道意思。
函数
void OLED_P8x16Str(unsigned char x,unsigned char y,unsigned char ch[])
{
unsigned char c=0,i=0,j=0;
while (ch[j]!='\0')
{
c =ch[j]-32;
if(x>122){x=0;y++;}
OLED_Set_Pos(x,y);
for(i=0;i<8;i++)
OLED_WrDat(F8X16[c*16+i]);
OLED_Set_Pos(x,y+1);
for(i=0;i<8;i++)
OLED_WrDat(F8X16[c*16+i+8]);
x+=8;
j++;
}
}
主程序
void main()
{
OLED_P8x16Str(1,1,"123ABC")
while(1)
}
现在研究了半天,OLED_P8x16Str(1,1,"123ABC")函数 如何识别我要显示的字符串正确显示出来
作者:
bingbingbom
时间:
2024-4-12 21:19
你搜索查下 ASCII 代码,字符是从32开始的,所以代码里有-32这个。
作者:
bingbingbom
时间:
2024-4-12 21:25
字符代码的可以用 PCtoLCD 字模提取等这些取字模工具生成代码。也可以在设置那里了解下具体是怎么规格去生成的,每个点就是0,1的区别,点组成字就这样。
作者:
jintaiyang
时间:
2024-4-12 21:35
改成这样试试
while (ch[j]!='\0')
{
c =ch[j]-32;
if(x>122){x=0;y++;}
OLED_Set_Pos(x,y);
for(i=0;i<8;i++)
OLED_WrDat(F8X16[c*160x20+i]);
OLED_Set_Pos(x,y+1);
for(i=0;i<8;i++)
OLED_WrDat(F8X16[c*16-0x20+i+8]);
x+=8;
j++;
}
复制代码
作者:
Graves
时间:
2024-4-13 09:22
while是把要显示的字符串遍历一遍,F8X16里面包含了各个字母的画点字节,按顺序排列。查表法来一个个显示出来,所以F8X16这个数组必须要排列正确,不能换位置
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1