最近几天都在研究OLED,今天功能点亮,下面分享一下。开发板是[size=1em]【APM32F107VCT6 MINI开发板测评】
开发平台:KEIL
1、连接GPIOk口:PA5 PA6
PA6------SDA;
PA5------SCL;
下面是连接图与显示信息:
2、主要功能代码:
主程序中的代码:
OLED_Init();
while(1)
{
OLED_Refresh();
DelayMs(500);
DelayMs(500);
OLED_ShowString(0,0,"APM32F107VC",16,1);
DelayMs(500);
//在指定位置显示一个字符,包括部分字符
//x:0~127
//y:0~63
//size1:选择字体 6x8/6x12/8x16/12x24
//mode:0,反色显示;1,正常显示
void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 size1,u8 mode)
{
u8 i,m,temp,size2,chr1;
u8 x0=x,y0=y;
if(size1==8)size2=6;
else size2=(size1/8+((size1%8)?1:0))*(size1/2); //得到字体一个字符对应点阵集所占的字节数
chr1=chr-' '; //计算偏移后的值
for(i=0;i<size2;i++)
{
if(size1==8)
{temp=asc2_0806[chr1][i];} //调用0806字体
else if(size1==12)
{temp=asc2_1206[chr1][i];} //调用1206字体
else if(size1==16)
{temp=asc2_1608[chr1][i];} //调用1608字体
else if(size1==24)
{temp=asc2_2412[chr1][i];} //调用2412字体
else return;
for(m=0;m<8;m++)
{
if(temp&0x01)OLED_DrawPoint(x,y,mode);
else OLED_DrawPoint(x,y,!mode);
temp>>=1;
y++;
}
x++;
if((size1!=8)&&((x-x0)==size1/2))
{x=x0;y0=y0+8;}
y=y0;
}
}
3、显示的信息
显示汉字,显示字符。
4、显示视频
|