F407开发板OLED函数OLED_DrawPoint函数坐标计算疑问

2019-07-20 10:09发布

本帖最后由 Gene 于 2017-4-24 14:09 编辑

1.如图,根据OLED_Init函数中对驱动芯片配置OLED_WR_Byte(0xA1,OLED_CMD); //列地址重映射,bit0:0,0->0;1,0->127;使能了col_remap,100列为什么不是配置为(127-100)?
2.一行字节内,根据第二张图,bit0对应第一行,bit7对应第7行,不是应该设置为(y%8)吗?为什么文档上是(7 - y%8)?
3.行没有使能,根据
OLED_WR_Byte(0xC0,OLED_CMD); //设置COM扫描方向;bit3:0,普通模式;1,重定义模式 COM[N-1]->COM0;N:驱动路数
不是应该设置为(y/8)吗?为什么文档上是(7 - y/8)?


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
宝庆书生
2019-07-20 18:03
本帖最后由 宝庆书生 于 2018-1-6 21:53 编辑

我明白了,你理解得没错,但是要心两个地方。
    pos=y/8;
    //pos=7-y/8;
    bx=y%8;
    //temp=1<<(7-bx);
    temp=1<<(bx);
还有一个是初始化函数 中
        //OLED_WR_Byte(0xA1,OLED_CMD); //段重定义设置,bit0:0,0->0;1,0->127;
        OLED_WR_Byte(0xA0,OLED_CMD); //段重定义设置,bit0:0,0->0;1,0->127;
原子那样应该是为了我们能正着看吧,进行了重映射。
手册上有写:
A0h, X[0]=0b: column address 0 is mapped to
SEG0 (RESET)
A1h, X[0]=1b: column address 127 is mapped to
SEG0

一周热门 更多>