在线时间0 小时
UID3696199
注册时间2021-1-5
NXP金币0
该用户从未签到
新手上路
- 积分
- 7
- 最后登录
- 2021-1-9
|
发表于 2021-1-9 13:27:49
|
显示全部楼层
本帖最后由 damaha6 于 2021-1-9 13:31 编辑
用的STM32,感觉中间应答延时过长,屏幕显示刷新较慢,注释后无影响。且貌似后面显示char、string等类型的函数,似乎没有调用OLED_Refresh_Gram()这一函数,导致显示不出来,一度以为通讯出了问题。- //在指定位置显示一个字符,包括部分字符
- //x:0~127
- //y:0~63
- //mode:0,反白显示;1,正常显示
- //size:选择字体 16/12
- void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 size,u8 mode)
- {
- u8 temp,t,t1;
- u8 y0=y;
- u8 csize=(size/8+((size%8)?1:0))*(size/2); //得到字体一个字符对应点阵集所占的字节数
- chr=chr-' ';//得到偏移后的值
- for(t=0;t<csize;t++)
- {
- if(size==12)temp=asc2_1206[chr][t]; //调用1206字体
- else if(size==16)temp=asc2_1608[chr][t]; //调用1608字体
- else if(size==24)temp=asc2_2412[chr][t]; //调用2412字体
- else return; //没有的字库
- for(t1=0;t1<8;t1++)
- {
- if(temp&0x80)
- OLED_DrawPoint(x,y,mode);
- else OLED_DrawPoint(x,y,!mode);
- temp<<=1;
- y++;
- if((y-y0)==size)
- {
- y=y0;
- x++;
- break;
- }
- }
- }
复制代码
|
|