- 打卡等级:以坛为家II
- 打卡总天数:572
- 最近打卡:2025-09-02 10:34:06
金牌会员
- 积分
- 1724
|
按照版主老师的程序,显示有所改善:不花屏了,但显示不正常,无法定位显示,自己试着修改其它参数仍不能正常,奈何技术水平有限,再次与版主交流。具体描述如下:
程序里所有页都有内容时,显示如下:
第一种情况:
while (1)
{
//<<AICUBE_USER_MAIN_LOOP_BEGIN>>
// 在此添加主函数中用户主循环代码
OLED_ClearScreen(0);
OLED_SetFontHeight(16);
OLED_DrawString(0, 0, " OLED-12864 ", 0);
OLED_DrawString(0, 2, " 文本模式 ", 0);
OLED_SetFontHeight(8);
OLED_DrawString(0, 4, "OLED Model : SSD1306", 0);
OLED_DrawString(0, 5, "Target MCU : Ai8051U", 0);
OLED_DrawString(0, 6, "Work Freq. : 40.0MHz", 1);
}有显示,但显示不全。而且重复显示。
***************************************************
第二种情况:
屏蔽掉
while (1)
{
//<<AICUBE_USER_MAIN_LOOP_BEGIN>>
// 在此添加主函数中用户主循环代码
OLED_ClearScreen(0);
OLED_SetFontHeight(16);
OLED_DrawString(0, 0, " OLED-12864 ", 0);
OLED_DrawString(0, 2, " 文本模式 ", 0);
OLED_SetFontHeight(8);
// OLED_DrawString(0, 4, "OLED Model : SSD1306", 0);
//OLED_DrawString(0, 5, "Target MCU : Ai8051U", 0);
//OLED_DrawString(0, 6, "Work Freq. : 40.0MHz", 1);
}屏幕无显示。
*******************************************************
第三种情况:
屏蔽掉
while (1)
{
//<<AICUBE_USER_MAIN_LOOP_BEGIN>>
// 在此添加主函数中用户主循环代码
OLED_ClearScreen(0);
// OLED_SetFontHeight(16);
// OLED_DrawString(0, 0, " OLED-12864 ", 0);
// OLED_DrawString(0, 2, " 文本模式 ", 0);
OLED_SetFontHeight(8);
OLED_DrawString(0, 4, "OLED Model : SSD1306", 0);
OLED_DrawString(0, 5, "Target MCU : Ai8051U", 0);
OLED_DrawString(0, 6, "Work Freq. : 40.0MHz", 1);
}只显示第6页。只要把第6页去掉,其它再多的内容都不显示了
只要保留第6页,刷屏只能显示偶数页(0、2、4、6页的内容),奇数页显示是偶数页的内容。
*************************************************
试着修改OLED_Refresh()其它参数,都不得要领。
如果想在第0行、0列开始显示内容,结果是空白。根本无法实现随心所欲在任何位置显示。感觉DMA好难理解 。
|
|