- typedef enum
- {
- YUYY_OLED_SSD1315_SCROLL_STOP = 0,
- YUYY_OLED_SSD1315_SCROLL_HORIZONTAL_RIGHT,
- YUYY_OLED_SSD1315_SCROLL_HORIZONTAL_LEFT,
- YUYY_OLED_SSD1315_SCROLL_VERTICAL,
- YUYY_OLED_SSD1315_SCROLL_VERTICAL_HORIZONTAL_RIGHT,
- YUYY_OLED_SSD1315_SCROLL_VERTICAL_HORIZONTAL_LEFT,
- }YUYY_OLED_SSD1315_ScrollType;
- typedef enum
- {
- YUYY_OLED_SSD1315_SCROLL_INTERVAL_6FRAMES = 0,
- YUYY_OLED_SSD1315_SCROLL_INTERVAL_32FRAMES,
- YUYY_OLED_SSD1315_SCROLL_INTERVAL_64FRAMES,
- YUYY_OLED_SSD1315_SCROLL_INTERVAL_128FRAMES,
- YUYY_OLED_SSD1315_SCROLL_INTERVAL_3FRAMES,
- YUYY_OLED_SSD1315_SCROLL_INTERVAL_4FRAMES,
- YUYY_OLED_SSD1315_SCROLL_INTERVAL_5FRAMES,
- YUYY_OLED_SSD1315_SCROLL_INTERVAL_2FRAMES,
- }YUYY_OLED_SSD1315_ScrollInterval_Type;
- void YUYY_OLED_SSD1315_SetVerticalScrollRows(YUYY_OLED_SSD1315_DEV_Type *dev,uint8_t start_row,uint8_t rows)
- {
- uint8_t cmd[3];
- cmd[0] = 0xA3;
- cmd[1] = start_row&0x3F;
- cmd[2] = rows&0x7F;
- YUYY_OLED_SSD1315_SendCmds(dev,cmd,3);
- }
- void YUYY_OLED_SSD1315_ContinuousScroll(YUYY_OLED_SSD1315_DEV_Type *dev,YUYY_OLED_SSD1315_ScrollType option,uint8_t vertical_offset,YUYY_OLED_SSD1315_ScrollInterval_Type interval,uint8_t start_page,uint8_t end_page,uint8_t start_column,uint8_t end_column)
- {
- uint8_t cmd[10];
- uint8_t cmdlen = 0;
- if(option == YUYY_OLED_SSD1315_SCROLL_STOP)
- {
- cmd[0] = 0x2E;
- cmdlen = 1;
- }
- else if(option == YUYY_OLED_SSD1315_SCROLL_HORIZONTAL_RIGHT || option == YUYY_OLED_SSD1315_SCROLL_HORIZONTAL_LEFT)
- {
- cmd[0] = 0x26;
- if(option == YUYY_OLED_SSD1315_SCROLL_HORIZONTAL_LEFT)
- cmd[0] = 0x27;
- cmd[1] = 0x00;
- cmd[2] = start_page&0x07;
- cmd[3] = interval&0x07;
- cmd[4] = end_page&0x07;
- cmd[5] = start_column&0x7F;
- cmd[6] = end_column&0x7F;
- cmd[7] = 0x2F;
- cmdlen = 8;
- }
- else
- {
- cmd[0] = 0x29;
- if(option == YUYY_OLED_SSD1315_SCROLL_VERTICAL_HORIZONTAL_LEFT)
- cmd[0] = 0x2A;
- cmd[1] = 0x01;
- if(option == YUYY_OLED_SSD1315_SCROLL_VERTICAL)
- cmd[1] = 0x00;
- cmd[2] = start_page&0x07;
- cmd[3] = interval&0x07;
- cmd[4] = end_page&0x07;
- cmd[5] = vertical_offset&0x3F;
- cmd[6] = start_column&0x7F;
- cmd[7] = end_column&0x7F;
- cmd[8] = 0x2F;
- cmdlen = 9;
- }
- YUYY_OLED_SSD1315_SendCmds(dev,cmd,cmdlen);
- }
全屏向右滚动
- YUYY_OLED_SSD1315_ContinuousScroll(&oled,YUYY_OLED_SSD1315_SCROLL_HORIZONTAL_RIGHT,0,YUYY_OLED_SSD1315_SCROLL_INTERVAL_5FRAMES,0,7,0,127);
部分向左滚动
- YUYY_OLED_SSD1315_ContinuousScroll(&oled,YUYY_OLED_SSD1315_SCROLL_HORIZONTAL_LEFT,0,YUYY_OLED_SSD1315_SCROLL_INTERVAL_5FRAMES,2,5,24,55);
全屏竖向滚动
- YUYY_OLED_SSD1315_SetVerticalScrollRows(&oled,0,64);
- YUYY_OLED_SSD1315_ContinuousScroll(&oled,YUYY_OLED_SSD1315_SCROLL_VERTICAL,1,YUYY_OLED_SSD1315_SCROLL_INTERVAL_5FRAMES,0,7,0,127);
部分竖向滚动
- YUYY_OLED_SSD1315_SetVerticalScrollRows(&oled,16,32);
- YUYY_OLED_SSD1315_ContinuousScroll(&oled,YUYY_OLED_SSD1315_SCROLL_VERTICAL,1,YUYY_OLED_SSD1315_SCROLL_INTERVAL_5FRAMES,0,7,0,127);
全屏竖向同时向右滚动
- YUYY_OLED_SSD1315_SetVerticalScrollRows(&oled,0,64);
- YUYY_OLED_SSD1315_ContinuousScroll(&oled,YUYY_OLED_SSD1315_SCROLL_VERTICAL_HORIZONTAL_RIGHT,1,YUYY_OLED_SSD1315_SCROLL_INTERVAL_5FRAMES,0,7,0,127);
部分竖向同时部分向左滚动
- YUYY_OLED_SSD1315_SetVerticalScrollRows(&oled,16,32);
- YUYY_OLED_SSD1315_ContinuousScroll(&oled,YUYY_OLED_SSD1315_SCROLL_VERTICAL_HORIZONTAL_LEFT,1,YUYY_OLED_SSD1315_SCROLL_INTERVAL_5FRAMES,2,5,24,55);