| 
				打卡等级:以坛为家III打卡总天数:604最近打卡:2025-10-31 07:07:05   金牌会员 
 
 
	积分1695 
 | 
 
 发表于 2025-8-27 11:08:18
|
显示全部楼层 
| 按照版主老师的程序,显示有所改善:不花屏了,但显示不正常,无法定位显示,自己试着修改其它参数仍不能正常,奈何技术水平有限,再次与版主交流。具体描述如下:
 程序里所有页都有内容时,显示如下:
 第一种情况:
 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好难理解
  。 
 
 
 
 
 
 
 | 
 |