编辑代码

#include <stdio.h>

typedef unsigned char uint8_t;
typedef int int32_t;
uint8_t OLED_GRAM[8][128];
uint8_t oledGRAM[8][128];
void oledReadPixel(int x, int y, char *value)
{
  char page;
  char bit;
  page = y/8;/*页数*/
  bit = y%8;
  *value = (OLED_GRAM[page][x]>>bit)&0x01;
}
void _oledDrawPixel(int32_t x, int32_t y, uint8_t value)
{
  uint8_t page;
  uint8_t bit;
  page = y/8;
  bit = y%8;
  if(value == 1)
    oledGRAM[page][x] |= (1<<bit);
  else
    oledGRAM[page][x] &= (~(1<<bit));
}
#define GetPage(value) (value/8)
int main () {
//    char value;
//    char x=17;
//    char y=0;
//    y = GetPage(x);
//    OLED_GRAM[3][100] = 0x34;
//    oledReadPixel(100, 24+7, &value);
//    printf("value=%d\r\n", value);
//    printf("x=%d\r\n", x);
//    printf("y=%d", y);
    _oledDrawPixel(10, 7, 1);
    printf("0X%X\r\n", oledGRAM[0][10]);
    _oledDrawPixel(10, 7, 0);
    printf("0X%X\r\n", oledGRAM[0][10]);
	return 0;
}