即可实现上图中的效果,本人将程序改写并给予一定的注释。
int main()
{
u8 *pat;
Xil_ICacheEnable(); //使能指令缓存
Xil_DCacheEnable(); //使能数据缓存
OLED_Begin(&myDevice, XPAR_PMODOLED_0_AXI_LITE_GPIO_BASEADDR,
XPAR_PMODOLED_0_AXI_LITE_SPI_BASEADDR);//初始化OLED 以及SPI
pat= OLED_GetStdPattern(0);
OLED_SetFillPattern(&myDevice,pat);
OLED_SetCharUpdate(&myDevice,1);//设置OLED为自动刷新
OLED_ClearBuffer(&myDevice); //清除显示缓存数据
OLED_SetCursor(&myDevice,0, 0);//设置第一行数据
OLED_PutString(&myDevice,"Hello Digilent");
OLED_SetCursor(&myDevice,0, 1);//128*32 可以显示4行,行高8个像素
OLED_PutString(&myDevice,"By Master Xu");
OLED_SetCursor(&myDevice,0, 2);
OLED_PutString(&myDevice,"2016/11/26");
OLED_SetCursor(&myDevice,0, 3);
OLED_PutString(&myDevice,"From Soochow");
// OLED_Delay(10000);
// DemoCleanup();
return 0;
}
效果图:
在以后的设计中,如果需要实时显示某些数据,用Pmod_OLED的会方便许多。并且128*32也足够显示很多内容了。
同时,OLED显示效果确实比LCD出彩很多,大家可以自行感受。
注:使用IP库配合Microblaze开发在第一次使用时难免遇到很多问题,请耐心参考之前提供的连接,不懂可以回复留言。
工程文件: https://pan.baidu.com/s/1nuGKEWL
`