先吐槽下,社区发帖老是被偷逗号
看了下,您的函数OLED_Display8x16Charactor只能输出一个字符,它不能用于输出字符串。可以增加一个函数:
OLED_Display8X16String(int x,int y,char * str)
{
while(*str != '\0'){ //检查字符串是否结束
OLED_Display8x16Charactor(x,y,*str);
x+=8; //请自行添加代码解决超出屏幕及换行问题
}
}
调用时:
OLED_Display8X16String(1,2,"Input(V):");
--------------------------------------------------------------
然后重看了下OLED_Display8x16Charactor函数,感觉有点疑问
OLED屏x取值是0~127,y取值是0~7(也称作页)
如果您是横屏使用的话,函数应该这样写吧?
void OLED_Display8x16Charactor(unsigned char ucx,unsigned char ucy,char *p) //在指定位置上显示一个8x16字符
{
unsigned char i,j;
for(j = 0;j < 2;j++)
{
OLED_SetAddr(ucx,ucy+j);
for(i = 0;i < 16;i++)
{
OLED_SendData(*p++);
}
}
}