请为我解释代码void OLED_Refresh_Gramvoid u8 in; fori=2;i8;i++ oledÏÔÊ¾ÇøÓòÖ»ÓеÚ3Ðе½µÚ8ÐÐ OLED_WR_Byte 0xb0+iOLED_CMD; ÉèÖÃÒ³µØÖ·£¨0~7£© OLED_WR_Byte 0x00OLED_CMD; ÉèÖÃÏÔʾλÖáªÁе͵ØÖ·
这段代码是用来刷新OLED显示屏幕上的像素点的。具体解释如下:
-
首先定义了两个变量i和n,都是无符号8位整型(u8)。
-
进入一个for循环,i从2开始,一直循环到7,也就是只刷新OLED屏幕的第3到第8页,因为OLED屏幕一共有8页。
-
在循环中,先调用OLED_WR_Byte函数,向OLED屏幕写入命令0xb0+i,用来设置当前要刷新的页的地址。
-
接着调用OLED_WR_Byte函数,向OLED屏幕写入命令0x00,用来设置当前要刷新的列的低4位地址。
-
再调用OLED_WR_Byte函数,向OLED屏幕写入命令0x10,用来设置当前要刷新的列的高4位地址。
-
最后,再进入一个for循环,n从0循环到127,也就是OLED屏幕每行的像素点数,这里用OLED_WR_Byte函数向OLED屏幕的GRAM寄存器中写入像素点的数据,每次写入的是OLED_GRAM[n][i],也就是第n行第i页的像素点数据。
-
循环执行完后,一个OLED屏幕刷新完成。
原文地址: https://www.cveoy.top/t/topic/cqh3 著作权归作者所有。请勿转载和采集!