OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8237|回复: 8

谁有OLED显示图片的程序啊,0.96寸SSD1306,搞了几天都没搞出来。^~^

[复制链接]

3

主题

8

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2016-4-8
在线时间
5 小时
发表于 2016-4-10 21:11:51 | 显示全部楼层 |阅读模式
6金钱
我画了一个图片,在PCTOLCD2002软件中生成自模可得到的却是0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"未命名文件",0*/
这样的字模。为什么,模式我改成了图片模式啊。还是有很多不懂啊,注定是一条艰难的旅程啊。

76b015c2d2838a5692134e67ec69e376.jpg

最佳答案

查看完整内容[请看2#楼]

[mw_shl_code=c,true] #include "spi.h" #include "oled_library.h" /** ********************************** * @brief SPI2¶áD′êy¾Y * @param TxData * @retval None ********************************** */ uint8_t SPI2_ReadWriteByte(uint8_t TxData) { uint8_t retry = 0; while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET) //¼ì2éÖ¸¶¨μ ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

25

主题

281

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2504
金钱
2504
注册时间
2015-8-17
在线时间
383 小时
发表于 2016-4-10 21:11:52 | 显示全部楼层
[mw_shl_code=c,true]
#include "spi.h"
#include "oled_library.h"

/**
  **********************************
  * @brief  SPI2¶áD′êy¾Y
  * @param  TxData
  * @retval None
  **********************************
*/
uint8_t SPI2_ReadWriteByte(uint8_t TxData)
{               
        uint8_t retry = 0;
        while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET) //¼ì2éÖ¸¶¨μÄSPI±ê־λéèÖÃóë·ñ:·¢Ëí»o′æ¿Õ±ê־λ
        {
                retry++;
                if(retry>200) return 0;
        }                          
        SPI_I2S_SendData(SPI2, TxData); //í¨1yíaéèSPIx·¢Ëíò»¸öêy¾Y
        retry = 0;

        while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET) //¼ì2éÖ¸¶¨μÄSPI±ê־λéèÖÃóë·ñ:½óêü»o′æ·Ç¿Õ±ê־λ
        {
                retry++;
                if(retry>200) return 0;
        }
        return SPI_I2S_ReceiveData(SPI2); //·μ»Øí¨1ySPIx×î½ü½óêÕμÄêy¾Y
}

/**
  **********************************
  * @brief  OLEDD′Ãüáî
  * @param  cmd
  * @retval None
  **********************************
*/
uint8_t LCD_SPI2_WrCmd(uint8_t cmd)
{
        uint8_t read = 0;
        GPIO_ResetBits(GPIOD, GPIO_Pin_8);
        read = SPI2_ReadWriteByte(cmd);
        return read;
}

/**
  **********************************
  * @brief  OLEDD′êy¾Y
  * @param  data
  * @retval None
  **********************************
*/
uint8_t LCD_SPI2_WrData(uint8_t data)
{
        uint8_t read = 0;
        GPIO_SetBits(GPIOD, GPIO_Pin_8);
        read = SPI2_ReadWriteByte(data);
        return read;
}

/**
  **********************************
  * @brief  OLEDéèÖÃ×ø±ê
  * @param  x£o0~127  y:0~7
  * @retval None
  **********************************
*/
void LCD_SPI2_Set_Pos(uint8_t x, uint8_t y)
{
        LCD_SPI2_WrCmd(0xb0+y);
        LCD_SPI2_WrCmd(((x&0xf0)>>4)|0x10);
        LCD_SPI2_WrCmd((x&0x0f)|0x01);
}

/**
  **********************************
  * @brief  OLEDÇåÆá
  * @param  bmp_dat: D′0x00′ïμ½ÇåÆá
  * @retval None
  **********************************
*/
void LCD_SPI2_Fill(uint8_t bmp_dat)
{
        uint8_t x,y;
        LCD_SPI2_Set_Pos(0,0);
        for(y=0; y<8; y++)
        {
                LCD_SPI2_Set_Pos(0,y);
                for(x=0; x<128;x++)
                        LCD_SPI2_WrData(0x00);
        }
}

/**
  **********************************
  * @brief  SPI23&#245;ê&#188;&#187;ˉ
  * @param  None
  * @retval None
  **********************************
*/
void SPI2_Init(void)
{
        SPI_InitTypeDef SPI_InitStruct;
        GPIO_InitTypeDef GPIO_InitStruct;
        //ê1&#196;üê±&#214;ó
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE);//&#191;a&#198;&#244;SPI2ê±&#214;ó
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//&#191;a&#198;&#244;GPIOBê±&#214;ó
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);//&#191;a&#198;&#244;GPIODê±&#214;ó
        //3&#245;ê&#188;&#187;ˉGPIO&#191;ú
        GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP;
        GPIO_InitStruct.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
        GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOB, &GPIO_InitStruct);
        GPIO_SetBits(GPIOB, GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15);//à-&#184;&#223;μ&#231;&#198;&#189;
        //3&#245;ê&#188;&#187;ˉRST DC
        GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_InitStruct.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9;
        GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOD, &GPIO_InitStruct);
        GPIO_SetBits(GPIOD, GPIO_Pin_8 | GPIO_Pin_9);//à-&#184;&#223;μ&#231;&#198;&#189;
        //3&#245;ê&#188;&#187;ˉSPI2
        SPI_InitStruct.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_2;//ê1ó&#195;2·&#214;&#198;μ
        SPI_InitStruct.SPI_CPHA = SPI_CPHA_1Edge;//&#212;úμúò&#187;&#184;&#246;ì&#248;±&#228;&#209;&#216;±&#187;2é&#188;ˉ
        SPI_InitStruct.SPI_CPOL = SPI_CPOL_Low;//&#191;&#213;&#207;D&#188;&#171;D&#212;&#206;aμíμ&#231;&#198;&#189;
        SPI_InitStruct.SPI_CRCPolynomial = 7;//CRCD£&#188;ì
        SPI_InitStruct.SPI_DataSize = SPI_DataSize_8b;//′&#171;ê&#228;êy&#190;Y3¤&#182;è
        SPI_InitStruct.SPI_Direction = SPI_Direction_2Lines_FullDuplex;//&#203;&#171;&#207;&#223;è&#171;&#203;&#171;1¤
        SPI_InitStruct.SPI_FirstBit = SPI_FirstBit_MSB;//&#207;è′&#171;&#184;&#223;×&#214;&#189;ú
        SPI_InitStruct.SPI_Mode = SPI_Mode_Master;//&#214;÷&#187;ú&#196;£ê&#189;
        SPI_InitStruct.SPI_NSS = SPI_NSS_Soft;//&#198;&#172;&#209;&#161;·&#189;ê&#189;&#206;aèí&#188;t
        SPI_Init(SPI2, &SPI_InitStruct);
        SPI_Cmd(SPI2, ENABLE);//ê1&#196;üSPI2
}

void LCD_SPI2_Init(void)
{
        SPI2_Init();
        //3&#245;ê&#188;&#187;ˉOLED
        RST_SPI2 = 0;//RSTà-μí
        delay_ms(1);
        RST_SPI2 = 1;//RSTà-&#184;&#223;
        delay_ms(1);
        //D′è&#235;3&#245;ê&#188;&#187;ˉ&#195;üá&#238;
        LCD_SPI2_WrCmd(0xae);//--turn off oled panel
        LCD_SPI2_WrCmd(0x00);//---set low column address
        LCD_SPI2_WrCmd(0x10);//---set high column address
        LCD_SPI2_WrCmd(0x40);//--set start line address  Set Mapping RAM Display Start Line (0x00~0x3F)
        LCD_SPI2_WrCmd(0x81);//--set contrast control register
        LCD_SPI2_WrCmd(0xcf); // Set SEG Output Current Brightness
        LCD_SPI2_WrCmd(0xa1);//--Set SEG/Column Mapping     0xa0???? 0xa1??
        LCD_SPI2_WrCmd(0xc8);//Set COM/Row Scan Direction   0xc0???? 0xc8??
        LCD_SPI2_WrCmd(0xa6);//--set normal display
        LCD_SPI2_WrCmd(0xa8);//--set multiplex ratio(1 to 64)
        LCD_SPI2_WrCmd(0x3f);//--1/64 duty
        LCD_SPI2_WrCmd(0xd3);//-set display offset        Shift Mapping RAM Counter (0x00~0x3F)
        LCD_SPI2_WrCmd(0x00);//-not offset
        LCD_SPI2_WrCmd(0xd5);//--set display clock divide ratio/oscillator frequency
        LCD_SPI2_WrCmd(0x80);//--set divide ratio, Set Clock as 100 Frames/Sec
        LCD_SPI2_WrCmd(0xd9);//--set pre-charge period
        LCD_SPI2_WrCmd(0xf1);//Set Pre-Charge as 15 Clocks & Discharge as 1 Clock
        LCD_SPI2_WrCmd(0xda);//--set com pins hardware configuration
        LCD_SPI2_WrCmd(0x12);
        LCD_SPI2_WrCmd(0xdb);//--set vcomh
        LCD_SPI2_WrCmd(0x40);//Set VCOM Deselect Level
        LCD_SPI2_WrCmd(0x20);//-Set Page Addressing Mode (0x00/0x01/0x02)
        LCD_SPI2_WrCmd(0x02);//
        LCD_SPI2_WrCmd(0x8d);//--set Charge Pump enable/disable
        LCD_SPI2_WrCmd(0x14);//--set(0x10) disable
        LCD_SPI2_WrCmd(0xa4);// Disable Entire Display On (0xa4/0xa5)
        LCD_SPI2_WrCmd(0xa6);// Disable Inverse Display On (0xa6/a7)
        LCD_SPI2_WrCmd(0xaf);//--turn on oled panel
        LCD_SPI2_Fill(0x00);  //--clear
        LCD_SPI2_Set_Pos(0,0);  
}

/**
  **********************************
  * @brief  &#207;&#212;ê&#190;6x8êy×&#214;
  * @param  x£o0~128  y:0~7  data:0~9999
  * @retval LCD_SPI2_P6x8Num(32, 2, 1234)
  **********************************
*/
void LCD_SPI2_P6x8Num(uint8_t x, uint8_t y, uint16_t data)
{
        uint8_t k=0;
  for(uint8_t j=0; j<4; j++)
  {
          switch (j)
                {
                         case 0:{k = data/1000;} break;
                        case 1:{k = data%1000/100;} break;
                        case 2:{k = data%100/10;} break;
                        case 3:{k = data%10;} break;
                }
    LCD_SPI2_Set_Pos(x,y);
          for(uint8_t i=0; i<6; i++)
                        LCD_SPI2_WrData(F6x8_num[k]);
          x += 6;
  }
}

/**
  **********************************
  * @brief  &#207;&#212;ê&#190;8x16μ&#196;×&#214;·&#251;′&#174;
  * @param  x£o0~128  y:0~7  
  * @retval LCD_SPI2_P8x16Str(32, 2, "OLED")
  **********************************
*/
void LCD_SPI2_P8x16Str(uint8_t x,uint8_t y,char ch[])
{
  uint8_t c=0,i=0,j=0;
  while (ch[j]!='\0')
  {
    c =ch[j]-32;
    if(x>120){x=0;y++;}
    LCD_SPI2_Set_Pos(x,y);   
          for(i=0;i<8;i++)
            LCD_SPI2_WrData(F8X16[c*16+i]);
          LCD_SPI2_Set_Pos(x,y+1);
          for(i=0;i<8;i++)     
            LCD_SPI2_WrData(F8X16[c*16+i+8]);  
          x += 8;
          j++;
  }
}
[/mw_shl_code]
字库
[mw_shl_code=c,true]static const unsigned char F6x8_num[][6] =
{
    { 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E },   // 0                                  0
    { 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00 },   // 1                                  1
    { 0x00, 0x42, 0x61, 0x51, 0x49, 0x46 },   // 2                                  2
    { 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31 },   // 3                                  3
    { 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10 },   // 4                                  4
    { 0x00, 0x27, 0x45, 0x45, 0x45, 0x39 },   // 5                                  5
    { 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30 },   // 6                                  6
    { 0x00, 0x01, 0x71, 0x09, 0x05, 0x03 },   // 7                                  7
    { 0x00, 0x36, 0x49, 0x49, 0x49, 0x36 },   // 8                                  8
    { 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E },   // 9                                  9
    { 0x00, 0x00, 0x36, 0x36, 0x00, 0x00 },   // :                                  10
    { 0x00, 0x00, 0x56, 0x36, 0x00, 0x00 },   // ;                                  11
    { 0x00, 0x08, 0x14, 0x22, 0x41, 0x00 },   // <                                  12
    { 0x00, 0x14, 0x14, 0x14, 0x14, 0x14 },   // =                                  13
    { 0x00, 0x00, 0x41, 0x22, 0x14, 0x08 },   // >                                  14
    { 0x00, 0x02, 0x01, 0x51, 0x09, 0x06 },   // ?                                  15
    { 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E },   // @                                  16
    { 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C },   // A                                  17
    { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36 },   // B                                  18
    { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22 },   // C                                  19
    { 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C },   // D                                  20
    { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41 },   // E                                  21
    { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01 },   // F                                  22
    { 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A },   // G                                  23
    { 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F },   // H                                  24
    { 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00 },   // I                                  25
    { 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01 },   // J                                  26
    { 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41 },   // K                                  27
    { 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40 },   // L                                  28
    { 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F },   // M                                  29
    { 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F },   // N                                  30
    { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E },   // O                                  31
    { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06 },   // P                                  32
    { 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E },   // Q                                  33
    { 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46 },   // R                                  34
    { 0x00, 0x46, 0x49, 0x49, 0x49, 0x31 },   // S                                  35
    { 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01 },   // T                                  36
    { 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F },   // U                                  37
    { 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F },   // V                                  38
    { 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F },   // W                                  39
    { 0x00, 0x63, 0x14, 0x08, 0x14, 0x63 },   // X                                  40
    { 0x00, 0x07, 0x08, 0x70, 0x08, 0x07 },   // Y                                  41
    { 0x00, 0x61, 0x51, 0x49, 0x45, 0x43 },   // Z                                  42
    { 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00 },   // [                                  43
    { 0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55 },   // 55                                  44
    { 0x00, 0x00, 0x41, 0x41, 0x7F, 0x00 },   // ]                                  45
    { 0x00, 0x04, 0x02, 0x01, 0x02, 0x04 },   // ^                                  46
    { 0x00, 0x40, 0x40, 0x40, 0x40, 0x40 },   // _                                  47
    { 0x00, 0x00, 0x01, 0x02, 0x04, 0x00 },   // '                                  48
    { 0x00, 0x20, 0x54, 0x54, 0x54, 0x78 },   // a                                  49
    { 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38 },   // b                                  50
    { 0x00, 0x38, 0x44, 0x44, 0x44, 0x20 },   // c                                  51
    { 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F },   // d                                  52
    { 0x00, 0x38, 0x54, 0x54, 0x54, 0x18 },   // e                                  53
    { 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02 },   // f                                  54
    { 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C },   // g                                  55
    { 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78 },   // h                                  56
    { 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00 },   // i                                  57
    { 0x00, 0x40, 0x80, 0x84, 0x7D, 0x00 },   // j                                  58
    { 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00 },   // k                                  59
    { 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00 },   // l                                  60
    { 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78 },   // m                                  61
    { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78 },   // n                                  62
    { 0x00, 0x38, 0x44, 0x44, 0x44, 0x38 },   // o                                  63
    { 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18 },   // p                                  64
    { 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC },   // q                                  65
    { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08 },   // r                                  66
    { 0x00, 0x48, 0x54, 0x54, 0x54, 0x20 },   // s                                  67
    { 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20 },   // t                                  68
    { 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C },   // u                                  69
    { 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C },   // v                                  70
    { 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C },   // w                                  71
    { 0x00, 0x44, 0x28, 0x10, 0x28, 0x44 },   // x                                  72
    { 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C },   // y                                  73
    { 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44 },   // z                                  74
          { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },   // sp                                  75
    { 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00 },   // !                                  76
    { 0x00, 0x00, 0x07, 0x00, 0x07, 0x00 },   // "                                  77
    { 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14 },   // #                                  78
    { 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12 },   // $                                  79
    { 0x00, 0x62, 0x64, 0x08, 0x13, 0x23 },   // %                                  80
    { 0x00, 0x36, 0x49, 0x55, 0x22, 0x50 },   // &                                  81
    { 0x00, 0x00, 0x05, 0x03, 0x00, 0x00 },   // '                                  82
    { 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00 },   // (                                  83
    { 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00 },   // )                                  84
    { 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14 },   // *                                  85
    { 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08 },   // +                                  86
    { 0x00, 0x00, 0x00, 0xA0, 0x60, 0x00 },   // ,                                  87
    { 0x00, 0x08, 0x08, 0x08, 0x08, 0x08 },   // -                                  88
    { 0x00, 0x00, 0x60, 0x60, 0x00, 0x00 },   // .                                  89
    { 0x00, 0x20, 0x10, 0x08, 0x04, 0x02 },   // /                                  90
    { 0x14, 0x14, 0x14, 0x14, 0x14, 0x14 }    // horiz lines          91
};[/mw_shl_code]
做事的原则:
1.每个问题重复三遍、研究三遍后再提问,直接得到答案的人什么都没学会。
2.做事要有始有终,感谢那些帮助自己解决问题的人,把解决的方法总结起来。
回复

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
发表于 2016-4-11 09:41:15 | 显示全部楼层
原子哥提供的有驱动的。你自己去下载不就好了么。
原子哥是不是又要出黑科技了呀。^_^...
回复

使用道具 举报

2

主题

56

帖子

0

精华

高级会员

Rank: 4

积分
509
金钱
509
注册时间
2015-12-22
在线时间
85 小时
发表于 2016-4-11 10:05:41 | 显示全部楼层
你要注意下是横向取模还是纵向取模,还要注意下显示的方向,这些要和驱动程序一致,否则显示不出正确的图像,另外单色图片的取模建议用zimo v2.2这个取模软件,很方便
回复

使用道具 举报

12

主题

336

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1576
金钱
1576
注册时间
2015-8-9
在线时间
625 小时
发表于 2016-4-11 10:19:15 | 显示全部楼层
可能是设置生成的像素的太少,没有覆盖整个图片。那个全0的数组大概是图片左上角全白的位置吧
回复

使用道具 举报

3

主题

8

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2016-4-8
在线时间
5 小时
 楼主| 发表于 2016-4-11 18:51:19 | 显示全部楼层
wszdxmh 发表于 2016-4-11 10:06
[mw_shl_code=c,true]
#include "spi.h"
#include "oled_library.h"

谢谢。
回复

使用道具 举报

3

主题

8

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2016-4-8
在线时间
5 小时
 楼主| 发表于 2016-4-11 18:52:16 | 显示全部楼层
Akatsuki_lim 发表于 2016-4-11 10:19
可能是设置生成的像素的太少,没有覆盖整个图片。那个全0的数组大概是图片左上角全白的位置吧

谢谢你的建议。我会改一下的。
回复

使用道具 举报

3

主题

8

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2016-4-8
在线时间
5 小时
 楼主| 发表于 2016-4-11 18:53:10 | 显示全部楼层
Biita 发表于 2016-4-11 10:05
你要注意下是横向取模还是纵向取模,还要注意下显示的方向,这些要和驱动程序一致,否则显示不出正确的图像 ...

谢谢你的建议,我会采用的。
回复

使用道具 举报

3

主题

8

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2016-4-8
在线时间
5 小时
 楼主| 发表于 2016-4-11 18:53:42 | 显示全部楼层
fanghuiopenedv 发表于 2016-4-11 09:41
原子哥提供的有驱动的。你自己去下载不就好了么。

在哪呢。完全不知道啊。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-11 04:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表