久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4180|回復(fù): 9
收起左側(cè)

關(guān)于單片機(jī)OLED顯示圖片的程序,有一條C語言語句不明白 if(y1%8==0) y=y1/8

[復(fù)制鏈接]
ID:813514 發(fā)表于 2020-8-16 15:20 | 顯示全部樓層 |閱讀模式
/***********顯示一幅圖片*****************/
void OLED_DrawBMP(unsigned char x0, unsigned char y0,unsigned char x1, unsigned char y1,unsigned char BMP[])
{         
unsigned int j=0;
unsigned char x,y;
  
  if(y1%8==0) y=y1/8;      
  else y=y1/8+1;
        for(y=y0;y<y1;y++)
        {
                OLED_Set_Pos(x0,y);
    for(x=x0;x<x1;x++)
            {      
                    OLED_WR_Byte(BMP[j++],OLED_DATA);                    
            }
        }
}
一直搞不明白這條語句  if(y1%8==0) y=y1/8;      
  else y=y1/8+1; 是怎么個(gè)思路,為什么如果對(duì)8取余為0就除以8,一直搞不明白請(qǐng)教大神們。
回復(fù)

使用道具 舉報(bào)

ID:235200 發(fā)表于 2020-8-16 22:37 | 顯示全部樓層
把數(shù)據(jù)送入存儲(chǔ)器的換行算法,一行對(duì)應(yīng)有8個(gè)字節(jié)
回復(fù)

使用道具 舉報(bào)

ID:213173 發(fā)表于 2020-8-16 23:02 | 顯示全部樓層
        if(y1%8==0) y=y1/8;  //如果y1除以8余0,y等于商(包含0)   
        else y=y1/8+1;                        //如果y1不能整除以8,y等于模+1
舉例:y1=0,y=0。
                y1=1~8,y=1。
                y1=9~16,y=2。
                y1=17~24,y=3。
               .......
回復(fù)

使用道具 舉報(bào)

ID:654028 發(fā)表于 2020-8-17 11:17 | 顯示全部樓層
樓上解釋的很清楚。說白了,OLED 屏幕(分辨率是128*64的)一行是8*128個(gè)點(diǎn)。所以有8行。程序里面的y1應(yīng)該是1*128個(gè)點(diǎn)的行。那個(gè)if函數(shù)就是把1*128轉(zhuǎn)換成8*128.這個(gè)就是數(shù)據(jù)手冊(cè)上說的一頁
回復(fù)

使用道具 舉報(bào)

ID:813514 發(fā)表于 2020-8-17 14:17 | 顯示全部樓層
感謝群里大神解答
回復(fù)

使用道具 舉報(bào)

ID:944266 發(fā)表于 2022-3-18 23:28 | 顯示全部樓層
最近正好用到OLED,看到很多代碼里都有這四行,注釋里寫著:x1,y1 : 起點(diǎn)對(duì)角線(結(jié)束點(diǎn))的坐標(biāo)(x1:1~128,y1:1~8)
但是一直沒明白
  if(y1%8==0)
                y = y1/8;
  else
                 y = y1/8 + 1;
這四行的作用,下面for循環(huán)
        for(y=y0;y<y1;y++)
        {
                OLED_SetPos(x0,y);
    for(x=x0;x<x1;x++)
                {
                        WriteDat(BMP[j++]);
                }
        }
y初值為y0,然而y++,似乎與上面的if判斷并無聯(lián)系,有沒有朋友愿意指點(diǎn)一下,謝謝啦!
回復(fù)

使用道具 舉報(bào)

ID:1011709 發(fā)表于 2022-3-20 13:34 | 顯示全部樓層
取余等于0表示可以整除8的,OLED 屏幕有8行,建議結(jié)合手冊(cè)來看
回復(fù)

使用道具 舉報(bào)

ID:883242 發(fā)表于 2022-3-20 14:19 | 顯示全部樓層
全壘打 發(fā)表于 2022-3-18 23:28
最近正好用到OLED,看到很多代碼里都有這四行,注釋里寫著:x1,y1 : 起點(diǎn)對(duì)角線(結(jié)束點(diǎn))的坐標(biāo)(x1:1~128,y1 ...

前四行的功能網(wǎng)友都已經(jīng)說清楚了,你看不懂我沒辦法。

后面for循環(huán)里面的y跟前四行毫無邏輯關(guān)系。
回復(fù)

使用道具 舉報(bào)

ID:944266 發(fā)表于 2022-3-20 20:03 | 顯示全部樓層
f347206352 發(fā)表于 2022-3-20 13:34
取余等于0表示可以整除8的,OLED 屏幕有8行,建議結(jié)合手冊(cè)來看

y1%8==0的意思我也明白,屏幕有page0-7,但是他注釋里寫著y1:1~8
我是不明白他這個(gè)判斷有什么作用,下面的for循環(huán)也沒用上這個(gè)判斷結(jié)果
回復(fù)

使用道具 舉報(bào)

ID:944266 發(fā)表于 2022-3-20 20:05 | 顯示全部樓層
Hephaestus 發(fā)表于 2022-3-20 14:19
前四行的功能網(wǎng)友都已經(jīng)說清楚了,你看不懂我沒辦法。

后面for循環(huán)里面的y跟前四行毫無邏輯關(guān)系。

后面for循環(huán)里面的y跟前四行毫無邏輯關(guān)系,只是不明白他前四行判斷的作用在哪里?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 99精品国产一区二区三区 | 久久国内精品 | 黄色精品视频网站 | 成人午夜视频在线观看 | 免费视频二区 | 国产区视频在线观看 | 日韩欧美一区二区三区 | 一本综合久久 | 久干网 | 乱一性一乱一交一视频a∨ 色爱av | 亚洲精品视频网站在线观看 | 国产一区二区成人 | av激情影院 | 午夜在线观看视频 | 国产午夜精品一区二区三区在线观看 | 精品国产31久久久久久 | 久色网 | 中文字幕亚洲欧美日韩在线不卡 | 中文字幕亚洲视频 | 欧美一级欧美一级在线播放 | 欧美群妇大交群中文字幕 | 天天插天天操 | 欧美 日韩 国产 成人 在线 | 毛片链接 | 欧美日韩亚洲一区二区 | 青草视频在线 | 久久久视频在线 | 一区二区精品视频 | 精品久久久久国产免费第一页 | 欧美一级毛片久久99精品蜜桃 | 久久高清亚洲 | 日韩欧美视频 | www.com久久久| aaa在线 | 先锋影音资源网站 | 久久久久91 | 亚洲精品一区二区三区在线 | 女人毛片a毛片久久人人 | 日韩中文一区二区三区 | 日韩国产欧美 | 国产日韩在线观看一区 |