您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ u8g_WriteByte函数代码示例

51自学网 2021-06-03 09:03:00
  C++
这篇教程C++ u8g_WriteByte函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中u8g_WriteByte函数的典型用法代码示例。如果您正苦于以下问题:C++ u8g_WriteByte函数的具体用法?C++ u8g_WriteByte怎么用?C++ u8g_WriteByte使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了u8g_WriteByte函数的23个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: u8g_dev_ssd1325_gr_prepare_row

static void u8g_dev_ssd1325_gr_prepare_row(u8g_t *u8g, u8g_dev_t *dev, uint8_t delta_row){  uint8_t row = ((u8g_pb_t *)(dev->dev_mem))->p.page;    row *= ((u8g_pb_t *)(dev->dev_mem))->p.page_height;  row += delta_row;    u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_prepare_page_seq);    u8g_WriteByte(u8g, dev, row);       /* start at the selected row */  u8g_WriteByte(u8g, dev, row+1);       /* end within the selected row */      //u8g_SetAddress(u8g, dev, 0);          /* instruction mode mode */  //u8g_WriteByte(u8g, dev, 0x05c);       /* write to ram */    u8g_SetAddress(u8g, dev, 1);          /* data mode */}
开发者ID:whdlgp,项目名称:Cupdrone_for_cpp,代码行数:16,


示例2: u8g_dev_ssd1327_96x96_2x_gr_fn

uint8_t u8g_dev_ssd1327_96x96_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg){  switch(msg)  {    case U8G_DEV_MSG_INIT:      u8g_InitCom(u8g, dev);      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1327_2bit_96x96_init_seq);      break;    case U8G_DEV_MSG_STOP:      break;    case U8G_DEV_MSG_PAGE_NEXT:      {        u8g_dev_ssd1327_2bit_2x_prepare_page(u8g, dev, 0);        u8g_dev_ssd1327_2bit_2x_write_buffer(u8g, dev, 0);        u8g_dev_ssd1327_2bit_2x_prepare_page(u8g, dev, 1);        u8g_dev_ssd1327_2bit_2x_write_buffer(u8g, dev, 1);        u8g_SetChipSelect(u8g, dev, 0);              }      break;    case U8G_DEV_MSG_CONTRAST:      u8g_SetChipSelect(u8g, dev, 1);      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */      u8g_WriteByte(u8g, dev, 0x081);      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1);      u8g_SetChipSelect(u8g, dev, 0);            return 1;  }  return u8g_dev_pb16v2_base_fn(u8g, dev, msg, arg);}
开发者ID:02047788a,项目名称:Marlin,代码行数:29,


示例3: u8g_dev_ssd1306_128x32_fn

uint8_t u8g_dev_ssd1306_128x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg){  switch(msg)  {    case U8G_DEV_MSG_INIT:      u8g_InitCom(u8g, dev);      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_init_seq);      break;    case U8G_DEV_MSG_STOP:      break;    case U8G_DEV_MSG_PAGE_NEXT:      {        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);        u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_data_start);            u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page);	/* select current page (SSD1306) */        u8g_SetAddress(u8g, dev, 1);					/* data mode */        if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 )          return 0;        u8g_SetChipSelect(u8g, dev, 0);      }      break;    case U8G_DEV_MSG_SLEEP_ON:      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on);          return 1;    case U8G_DEV_MSG_SLEEP_OFF:      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off);          return 1;}    return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);}
开发者ID:02047788a,项目名称:Marlin,代码行数:31,


示例4: u8g_dev_ssd1327_2bit_2x_prepare_page

static void u8g_dev_ssd1327_2bit_2x_prepare_page(u8g_t *u8g, u8g_dev_t *dev, uint8_t is_odd){  uint8_t page = ((u8g_pb_t *)(dev->dev_mem))->p.page;    u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1327_2bit_96x96_prepare_page_seq);    page <<= 1;  page += is_odd;    page <<= 2;  u8g_WriteByte(u8g, dev, page);       /* start at the selected page */  page += 3;  u8g_WriteByte(u8g, dev, page);       /* end within the selected page */      u8g_SetAddress(u8g, dev, 1);          /* data mode */}
开发者ID:02047788a,项目名称:Marlin,代码行数:16,


示例5: u8g_dev_st7920_128x64_fn

uint8_t u8g_dev_st7920_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg){  switch(msg)  {    case U8G_DEV_MSG_INIT:      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);      u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7920_128x64_init_seq);      break;    case U8G_DEV_MSG_STOP:      break;    case U8G_DEV_MSG_PAGE_NEXT:      {        uint8_t y, i;        uint8_t *ptr;        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);                u8g_SetAddress(u8g, dev, 0);           /* cmd mode */        u8g_SetChipSelect(u8g, dev, 1);        y = pb->p.page_y0;        ptr = pb->buf;        for( i = 0; i < 8; i ++ )        {          u8g_SetAddress(u8g, dev, 0);           /* cmd mode */          u8g_WriteByte(u8g, dev, 0x03e );      /* enable extended mode */          if ( y < 32 )          {                  u8g_WriteByte(u8g, dev, 0x080 | y );      /* y pos  */                  u8g_WriteByte(u8g, dev, 0x080  );      /* set x pos to 0*/          }          else          {                  u8g_WriteByte(u8g, dev, 0x080 | (y-32) );      /* y pos  */                  u8g_WriteByte(u8g, dev, 0x080 | 8);      /* set x pos to 64*/          }                    u8g_SetAddress(u8g, dev, 1);                  /* data mode */          u8g_WriteSequence(u8g, dev, WIDTH/8, ptr);          ptr += WIDTH/8;          y++;        }        u8g_SetChipSelect(u8g, dev, 0);      }      break;  }  return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg);}
开发者ID:robert-budde,项目名称:LandLord,代码行数:47,


示例6: u8g_dev_uc1610_dogxl160_gx_bw_fn

uint8_t u8g_dev_uc1610_dogxl160_gx_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg){  switch(msg)  {    case U8G_DEV_MSG_INIT:      u8g_InitCom(u8g, dev);      u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_init_seq);      break;    case U8G_DEV_MSG_STOP:	  u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_stop_seq);      break;    case U8G_DEV_MSG_PAGE_NEXT:      {        int i, g;        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);                for(g=0;(g<PAGEGROUP)&&(g<(HEIGHT/8));g++){			u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start);    			u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*2*PAGEGROUP+g*2) ); /* select current page 1/2 (UC1610) */			u8g_SetAddress(u8g, dev, 1);           /* data mode */			for( i = 0; i < WIDTH; i++ )			{			  u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf+WIDTH*g))[i] ) );          			}			u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start);    			u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*2*PAGEGROUP+1+g*2) ); /* select current page 2/2 (UC1610) */			u8g_SetAddress(u8g, dev, 1);           /* data mode */			for( i = 0; i < WIDTH; i++ )			{			  u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf+WIDTH*g))[i] >> 4 ) );          			}		}                u8g_SetChipSelect(u8g, dev, 0);      }      break;    case U8G_DEV_MSG_CONTRAST:      u8g_SetChipSelect(u8g, dev, 1);      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */      u8g_WriteByte(u8g, dev, 0x081);      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1);      u8g_SetChipSelect(u8g, dev, 0);            return 1;  }  return u8g_dev_pb8xv1_base_fn(u8g, dev, msg, arg);}
开发者ID:88kacper8,项目名称:u8glib,代码行数:46,


示例7: u8g_dev_uc1610_dogxl160_2x_bw_fn

uint8_t u8g_dev_uc1610_dogxl160_2x_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg){  switch(msg)  {    case U8G_DEV_MSG_INIT:      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);      u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_init_seq);      break;    case U8G_DEV_MSG_STOP:      break;    case U8G_DEV_MSG_PAGE_NEXT:      {        int i;        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);                u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start);            u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*4) ); /* select current page 1/2 (UC1610) */        u8g_SetAddress(u8g, dev, 1);           /* data mode */        for( i = 0; i < WIDTH; i++ )        {          u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf))[i] ) );                  }        u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start);            u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*4+1) ); /* select current page 2/2 (UC1610) */        u8g_SetAddress(u8g, dev, 1);           /* data mode */        for( i = 0; i < WIDTH; i++ )        {          u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)(pb->buf))[i] >> 4 ) );                  }        u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start);            u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*4+2) ); /* select current page 1/2 (UC1610) */        u8g_SetAddress(u8g, dev, 1);           /* data mode */        for( i = 0; i < WIDTH; i++ )        {          u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)((uint8_t *)(pb->buf)+WIDTH))[i] ) );                  }        u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start);            u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*4+3) ); /* select current page 2/2 (UC1610) */        u8g_SetAddress(u8g, dev, 1);           /* data mode */        for( i = 0; i < WIDTH; i++ )        {          u8g_WriteByte(u8g, dev, u8g_dev_1to2( ((uint8_t *)((uint8_t *)(pb->buf)+WIDTH))[i] >> 4 ) );                  }                u8g_SetChipSelect(u8g, dev, 0);      }      break;    case U8G_DEV_MSG_CONTRAST:      u8g_SetChipSelect(u8g, dev, 1);      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */      u8g_WriteByte(u8g, dev, 0x081);      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1);      u8g_SetChipSelect(u8g, dev, 0);            return 1;  }  return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg);}
开发者ID:pkourany,项目名称:u8glibSpark,代码行数:60,


示例8: u8g_dev_t6963_240x128_fn

uint8_t u8g_dev_t6963_240x128_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg){  switch(msg)  {    case U8G_DEV_MSG_INIT:      u8g_InitCom(u8g, dev);          u8g_WriteEscSeqP(u8g, dev, u8g_dev_t6963_240x128_init_seq);      break;    case U8G_DEV_MSG_STOP:      break;    case U8G_DEV_MSG_PAGE_NEXT:      {        uint8_t y, i;        uint16_t disp_ram_adr;        uint8_t *ptr;        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);        	u8g_SetAddress(u8g, dev, 0);           /* data mode */        u8g_SetChipSelect(u8g, dev, 1);        y = pb->p.page_y0;        ptr = pb->buf;        disp_ram_adr = WIDTH/8;        disp_ram_adr *= y;        for( i = 0; i < PAGE_HEIGHT; i ++ )        {          u8g_SetAddress(u8g, dev, 0);           /* data mode */          u8g_WriteByte(u8g, dev, disp_ram_adr&255 );      /* address low byte */          u8g_WriteByte(u8g, dev, disp_ram_adr>>8 );      /* address hight byte */          u8g_SetAddress(u8g, dev, 1);           /* cmd mode */          u8g_WriteByte(u8g, dev, 0x024 );      /* set adr ptr */	            u8g_WriteSequence(u8g, dev, WIDTH/8, ptr);		            ptr += WIDTH/8;          disp_ram_adr += WIDTH/8;        }	u8g_SetAddress(u8g, dev, 0);           /* data mode */        u8g_SetChipSelect(u8g, dev, 0);      }      break;  }  return u8g_dev_pb16h1_base_fn(u8g, dev, msg, arg);}
开发者ID:azad26195,项目名称:marlin-based-ace-firmware,代码行数:44,


示例9: u8g_dev_st7565_lm6059_2x_fn

uint8_t u8g_dev_st7565_lm6059_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg){  switch(msg)  {    case U8G_DEV_MSG_INIT:      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);      u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_init_seq);      break;    case U8G_DEV_MSG_STOP:      break;    case U8G_DEV_MSG_PAGE_NEXT:      {        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);	        u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_data_start);            u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page)); /* select current page (ST7565R) */        u8g_SetAddress(u8g, dev, 1);           /* data mode */	u8g_WriteSequence(u8g, dev, pb->width, pb->buf);         u8g_SetChipSelect(u8g, dev, 0);	u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_data_start);            u8g_WriteByte(u8g, dev, 0x0b0 | (2*pb->p.page+1)); /* select current page (ST7565R) */        u8g_SetAddress(u8g, dev, 1);           /* data mode */	u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width);         u8g_SetChipSelect(u8g, dev, 0);      }      break;    case U8G_DEV_MSG_CONTRAST:      u8g_SetChipSelect(u8g, dev, 1);      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */      u8g_WriteByte(u8g, dev, 0x081);      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2);      u8g_SetChipSelect(u8g, dev, 0);            return 1;    case U8G_DEV_MSG_SLEEP_ON:      u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_sleep_on);          return 1;    case U8G_DEV_MSG_SLEEP_OFF:      u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_sleep_off);          return 1;  }  return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg);}
开发者ID:whdlgp,项目名称:Cupdrone_for_cpp,代码行数:43,


示例10: u8g_dev_uc1610_dogxl160_2x_gr_fn

uint8_t u8g_dev_uc1610_dogxl160_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg){  switch(msg)  {    case U8G_DEV_MSG_INIT:      u8g_InitCom(u8g, dev);      u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_init_seq);      break;    case U8G_DEV_MSG_STOP:	  u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_stop_seq);      break;    case U8G_DEV_MSG_PAGE_NEXT:      {        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);                u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start);            u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*2) ); /* select current page (UC1610) */        u8g_SetAddress(u8g, dev, 1);           /* data mode */        if ( u8g_WriteSequence(u8g, dev, WIDTH, pb->buf) == 0 )          return 0;        u8g_WriteEscSeqP(u8g, dev, u8g_dev_uc1610_dogxl160_data_start);            u8g_WriteByte(u8g, dev, 0x060 | (pb->p.page*2+1) ); /* select current page (UC1610) */        u8g_SetAddress(u8g, dev, 1);           /* data mode */        if ( u8g_WriteSequence(u8g, dev, WIDTH, pb->buf+WIDTH) == 0 )          return 0;                u8g_SetChipSelect(u8g, dev, 0);      }      break;    case U8G_DEV_MSG_CONTRAST:      u8g_SetChipSelect(u8g, dev, 1);      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */      u8g_WriteByte(u8g, dev, 0x081);      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1);      u8g_SetChipSelect(u8g, dev, 0);            return 1;  }  return u8g_dev_pb16v2_base_fn(u8g, dev, msg, arg);}
开发者ID:88kacper8,项目名称:u8glib,代码行数:40,


示例11: u8g_dev_ld7032_60x32_fn

uint8_t u8g_dev_ld7032_60x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg){  switch(msg)  {    case U8G_DEV_MSG_INIT:      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_400NS);      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ld7032_60x32_init_seq);      break;    case U8G_DEV_MSG_STOP:      break;    case U8G_DEV_MSG_PAGE_NEXT:      {        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);        u8g_WriteEscSeqP(u8g, dev, u8g_dev_ld7032_60x32_data_start);            u8g_WriteByte(u8g, dev, pb->p.page_y0); /* y start */	u8g_SetAddress(u8g, dev, 0);          /* instruction mode */	u8g_WriteByte(u8g, dev, 0x008);        u8g_SetAddress(u8g, dev, 1);           /* data mode */        if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 )          return 0;        u8g_SetChipSelect(u8g, dev, 0);      }      break;    case U8G_DEV_MSG_CONTRAST:      u8g_SetChipSelect(u8g, dev, 1);      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */      u8g_WriteByte(u8g, dev, 0x081);      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 2);      u8g_SetChipSelect(u8g, dev, 0);            return 1;    case U8G_DEV_MSG_SLEEP_ON:      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ld7032_60x32_sleep_on);          return 1;    case U8G_DEV_MSG_SLEEP_OFF:      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ld7032_60x32_sleep_off);          return 1;  }  return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg);}
开发者ID:7134956,项目名称:u8glib,代码行数:39,


示例12: u8g_dev_sbn1661_122x32_fn

uint8_t u8g_dev_sbn1661_122x32_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg){  switch(msg)  {    case U8G_DEV_MSG_INIT:      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE);      u8g_WriteEscSeqP(u8g, dev, u8g_dev_sbn1661_122x32_init_seq);      break;    case U8G_DEV_MSG_STOP:      break;    case U8G_DEV_MSG_PAGE_NEXT:      {        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);	        u8g_SetAddress(u8g, dev, 0);           /* command mode */        u8g_SetChipSelect(u8g, dev, 1);        u8g_WriteByte(u8g, dev, 0x0b8 | pb->p.page); /* select current page (SBN1661/SED1520) */        u8g_WriteByte(u8g, dev, 0x000 ); /* set X address */        u8g_SetAddress(u8g, dev, 1);           /* data mode */        u8g_WriteSequence(u8g, dev, WIDTH/2, pb->buf);	        u8g_SetAddress(u8g, dev, 0);           /* command mode */        u8g_SetChipSelect(u8g, dev, 2);        u8g_WriteByte(u8g, dev, 0x0b8 | pb->p.page); /* select current page (SBN1661/SED1520) */        u8g_WriteByte(u8g, dev, 0x000 ); /* set X address */        u8g_SetAddress(u8g, dev, 1);           /* data mode */        u8g_WriteSequence(u8g, dev, WIDTH/2, WIDTH/2+(uint8_t *)pb->buf);	        u8g_SetChipSelect(u8g, dev, 0);	      }      break;    case U8G_DEV_MSG_CONTRAST:      break;  }  return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);}
开发者ID:korytov,项目名称:bone,代码行数:37,


示例13: u8g_dev_ks0108_128x64_fn

uint8_t u8g_dev_ks0108_128x64_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg){    switch(msg)  {    case U8G_DEV_MSG_INIT:      u8g_InitCom(u8g, dev);      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ks0108_128x64_init_seq);      break;    case U8G_DEV_MSG_STOP:      break;    case U8G_DEV_MSG_PAGE_NEXT:      {        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);                u8g_SetAddress(u8g, dev, 0);           /* command mode */        u8g_SetChipSelect(u8g, dev, 2);        u8g_WriteByte(u8g, dev, 0x0b8 | pb->p.page); /* select current page (KS0108b) */        u8g_WriteByte(u8g, dev, 0x040 );		/* set address 0 */        u8g_SetAddress(u8g, dev, 1);           /* data mode */        u8g_WriteSequence(u8g, dev, 64, pb->buf);        u8g_SetChipSelect(u8g, dev, 0);                u8g_SetAddress(u8g, dev, 0);           /* command mode */        u8g_SetChipSelect(u8g, dev, 1);        u8g_WriteByte(u8g, dev, 0x0b8 | pb->p.page); /* select current page (KS0108b) */        u8g_WriteByte(u8g, dev, 0x040 );		/* set address 0 */        u8g_SetAddress(u8g, dev, 1);           /* data mode */        u8g_WriteSequence(u8g, dev, 64, 64+(uint8_t *)pb->buf);        u8g_SetChipSelect(u8g, dev, 0);              }      break;  }  return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);}
开发者ID:azad26195,项目名称:marlin-based-ace-firmware,代码行数:36,


示例14: u8g_dev_tls8204_fn

uint8_t u8g_dev_tls8204_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg){    switch(msg)    {    case U8G_DEV_MSG_INIT:        u8g_InitCom(u8g, dev);        u8g_WriteEscSeqP(u8g, dev, u8g_dev_tls8204_init_seq);        break;    case U8G_DEV_MSG_STOP:        break;    case U8G_DEV_MSG_PAGE_NEXT:    {        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);        u8g_SetAddress(u8g, dev, 0);           /* command mode */        u8g_SetChipSelect(u8g, dev, 1);        u8g_WriteByte(u8g, dev, 0x020 );		/* activate chip (PD=0), horizontal increment (V=0), enter normal command set (H=0) */        u8g_WriteByte(u8g, dev, 0x080 );                        /* set X address */        u8g_WriteByte(u8g, dev, 0x040 | pb->p.page); /* set Y address */        u8g_SetAddress(u8g, dev, 1);           /* data mode */        if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 )            return 0;        u8g_SetChipSelect(u8g, dev, 0);    }    break;    case U8G_DEV_MSG_CONTRAST:        /* the contrast adjustment does not work, needs to be analysed */        u8g_SetAddress(u8g, dev, 0);          /* instruction mode */        u8g_SetChipSelect(u8g, dev, 1);        u8g_WriteByte(u8g, dev, 0x021);        /* command mode, extended function set */        u8g_WriteByte(u8g, dev, 0x080 | ( (*(uint8_t *)arg) >> 1 ) );        u8g_WriteByte(u8g, dev, 0x020);        /* command mode, extended function set */        u8g_SetChipSelect(u8g, dev, 0);        return 1;    }    return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);}
开发者ID:445106011,项目名称:Ultimaker2Marlin,代码行数:36,


示例15: u8g_dev_ssd1306_128x32_2x_fn

uint8_t u8g_dev_ssd1306_128x32_2x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg){  switch(msg)  {    case U8G_DEV_MSG_INIT:      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_init_seq);      break;    case U8G_DEV_MSG_STOP:      break;    case U8G_DEV_MSG_PAGE_NEXT:      {        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);        u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_data_start);        u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2));	/* select current page (SSD1306) */        u8g_SetAddress(u8g, dev, 1);					/* data mode */	u8g_WriteSequence(u8g, dev, pb->width, (uint8_t*)pb->buf);        u8g_SetChipSelect(u8g, dev, 0);        u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1306_128x32_data_start);        u8g_WriteByte(u8g, dev, 0x0b0 | (pb->p.page*2+1));	/* select current page (SSD1306) */        u8g_SetAddress(u8g, dev, 1);					/* data mode */	u8g_WriteSequence(u8g, dev, pb->width, (uint8_t *)(pb->buf)+pb->width);        u8g_SetChipSelect(u8g, dev, 0);      }      break;    case U8G_DEV_MSG_SLEEP_ON:      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on);      return 1;    case U8G_DEV_MSG_SLEEP_OFF:      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off);      return 1;  }  return u8g_dev_pb16v1_base_fn(u8g, dev, msg, arg);}
开发者ID:dima3dprinters,项目名称:DIMA-LT,代码行数:36,


示例16: u8g_dev_ssd1325_nhd27oled_bw_fn

static uint8_t u8g_dev_ssd1325_nhd27oled_bw_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg){  switch(msg)  {    //case U8G_DEV_MSG_IS_BBX_INTERSECTION:    //  return u8g_pb_IsIntersection((u8g_pb_t *)(dev->dev_mem), (u8g_dev_arg_bbx_t *)arg);    case U8G_DEV_MSG_INIT:      u8g_InitCom(u8g, dev);      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_nhd_27_12864_init_seq);      break;    case U8G_DEV_MSG_STOP:      break;    case U8G_DEV_MSG_PAGE_NEXT:      {	uint8_t i;	u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);	uint8_t *p = pb->buf;	u8g_uint_t cnt;	cnt = pb->width;	cnt >>= 3;	for( i = 0; i < pb->p.page_height; i++ )	{	  u8g_dev_ssd1325_prepare_row(u8g, dev, i);		/* this will also enable chip select */	  u8g_WriteSequenceBWTo16GrDevice(u8g, dev, cnt, p);	  u8g_SetChipSelect(u8g, dev, 0);        	  p+=cnt;	}      }      break;    case U8G_DEV_MSG_CONTRAST:      u8g_SetChipSelect(u8g, dev, 1);      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */      u8g_WriteByte(u8g, dev, 0x081);      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1);      u8g_SetChipSelect(u8g, dev, 0);            break;    case U8G_DEV_MSG_SLEEP_ON:      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on);          return 1;    case U8G_DEV_MSG_SLEEP_OFF:      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off);          return 1;  }  return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg);}
开发者ID:azad26195,项目名称:marlin-based-ace-firmware,代码行数:46,


示例17: _OLD_u8g_dev_ssd1325_1bit_write_16_pixel

static  void _OLD_u8g_dev_ssd1325_1bit_write_16_pixel(u8g_t *u8g, u8g_dev_t *dev, uint8_t left, uint8_t right){  uint8_t d, cnt;  cnt = 8;  do  {    d = 0;    if ( left & 1 )      d |= 0x0f0;    if ( right & 1 )      d |= 0x00f;    u8g_WriteByte(u8g, dev, d);    left >>= 1;    right >>= 1;    cnt--;  }while ( cnt > 0 );}
开发者ID:azad26195,项目名称:marlin-based-ace-firmware,代码行数:17,


示例18: u8g_dev_ssd1325_nhd27oled_2x_gr_fn

static uint8_t u8g_dev_ssd1325_nhd27oled_2x_gr_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg){  switch(msg)  {    case U8G_DEV_MSG_INIT:      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_300NS);      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd1325_2bit_nhd_27_12864ucy3_init_seq);      break;    case U8G_DEV_MSG_STOP:      break;    case U8G_DEV_MSG_PAGE_NEXT:      {	uint8_t i;	u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);	uint8_t *p = pb->buf;	u8g_uint_t cnt;	cnt = pb->width;	cnt >>= 2;	for( i = 0; i < pb->p.page_height; i++ )	{	  u8g_dev_ssd1325_gr_prepare_row(u8g, dev, i);		/* this will also enable chip select */	  u8g_WriteSequence4LTo16GrDevice(u8g, dev, cnt, p);	  u8g_SetChipSelect(u8g, dev, 0);        	  p+=cnt;	}      }      break;    case U8G_DEV_MSG_CONTRAST:      u8g_SetChipSelect(u8g, dev, 1);      u8g_SetAddress(u8g, dev, 0);          /* instruction mode */      u8g_WriteByte(u8g, dev, 0x081);      u8g_WriteByte(u8g, dev, (*(uint8_t *)arg) >> 1);      u8g_SetChipSelect(u8g, dev, 0);            return 1;    case U8G_DEV_MSG_SLEEP_ON:      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_on);          return 1;    case U8G_DEV_MSG_SLEEP_OFF:      u8g_WriteEscSeqP(u8g, dev, u8g_dev_ssd13xx_sleep_off);          return 1;  }  return u8g_dev_pb16h2_base_fn(u8g, dev, msg, arg);}
开发者ID:whdlgp,项目名称:Cupdrone_for_cpp,代码行数:44,


示例19: u8g_dev_st75256_jlx240160g676_4x_fn

/******************************************************************************* * jlx240160g-676 4x peed driver. More ram. ******************************************************************************/uint8_t u8g_dev_st75256_jlx240160g676_4x_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg) {	uint16_t i;	switch (msg) {	case U8G_DEV_MSG_INIT:		u8g_InitCom(u8g, dev, NULL);		u8g_WriteEscSeqP(u8g, dev, u8g_dev_st75256_init_seq);		u8g_WriteEscSeqP(u8g, dev, u8g_dev_st75256_data_start1);		u8g_WriteByte(u8g, dev, 1); // Set start page		u8g_WriteEscSeqP(u8g, dev, u8g_dev_st75256_data_start2);		for (i = 0; i < (WIDTH * HEIGHT/PAGE_HEIGHT); i++) {			u8g_WriteByte(u8g, dev, 0x00); //Заполняем дисплей белым		}		break;	case U8G_DEV_MSG_PAGE_NEXT: {		uint8_t y, i;		uint8_t *ptr;		u8g_pb_t *pb = (u8g_pb_t *) (dev->dev_mem);		u8g_SetChipSelect(u8g, dev, 1);		y = pb->p.page_y0;		ptr = pb->buf;		u8g_WriteEscSeqP(u8g, dev, u8g_dev_st75256_data_start1);		u8g_WriteByte(u8g, dev, 1 + y); // Set start page		u8g_WriteEscSeqP(u8g, dev, u8g_dev_st75256_data_start2);		for (i = 0; i < 4; i++) {			u8g_WriteSequence(u8g, dev, WIDTH, ptr);			ptr += WIDTH;			y++;		}		u8g_SetChipSelect(u8g, dev, 0);	}		break;	case U8G_DEV_MSG_CONTRAST:		u8g_SetChipSelect(u8g, dev, 1);		u8g_SetAddress(u8g, dev, 0); /* instruction mode */		u8g_WriteByte(u8g, dev, 0x81);		u8g_SetAddress(u8g, dev, 1); /* data mode */		u8g_WriteByte(u8g, dev, (*(uint8_t *) arg % 64));		u8g_WriteByte(u8g, dev, 3 + (*(uint8_t *) arg / 64));		u8g_SetChipSelect(u8g, dev, 0);		return 1;	case U8G_DEV_MSG_SLEEP_ON:		u8g_WriteEscSeqP(u8g, dev, u8g_dev_st75256_sleep_on);		return 1;	case U8G_DEV_MSG_SLEEP_OFF:		u8g_WriteEscSeqP(u8g, dev, u8g_dev_st75256_sleep_off);		return 1;	}	return u8g_dev_pb32v1_base_fn(u8g, dev, msg, arg);}
开发者ID:7134956,项目名称:u8glib,代码行数:52,


示例20: LcdWriteCommand

static void LcdWriteCommand(u8g_t* u8g, u8g_dev_t* dev, uint8_t* cmd){    u8g_SetChipSelect(u8g, dev, 1); //there seems to be a bug with write sequence in my device driver.    u8g_WriteByte(u8g,dev, cmd[0]);    u8g_WriteByte(u8g,dev, cmd[1]);    u8g_WriteByte(u8g,dev, cmd[2]);//    u8g_WriteSequence(u8g, dev, 3, cmd);    u8g_SetChipSelect(u8g, dev, 0);    //u8g_Delay(10);    u8g_SetChipSelect(u8g,dev,1);    u8g_WriteByte(u8g,dev, cmd[3]);    u8g_WriteByte(u8g,dev, cmd[4]);    u8g_WriteByte(u8g,dev, cmd[5]);//    u8g_WriteSequence(u8g,dev,3, &cmd[3]);    u8g_SetChipSelect(u8g,dev,0);    //u8g_Delay(10);}
开发者ID:hossboss,项目名称:SPI_Display_Test,代码行数:18,


示例21: u8g_dev_st7565_lm6059_fn

uint8_t u8g_dev_st7565_lm6059_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg){    switch(msg)    {    case U8G_DEV_MSG_INIT:        u8g_InitCom(u8g, dev);        u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_init_seq);        break;    case U8G_DEV_MSG_STOP:        break;    case U8G_DEV_MSG_PAGE_NEXT:    {        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);        u8g_WriteEscSeqP(u8g, dev, u8g_dev_st7565_lm6059_data_start);        u8g_WriteByte(u8g, dev, 0x0b0 | pb->p.page); /* select current page (ST7565R) */        u8g_SetAddress(u8g, dev, 1);           /* data mode */        if ( u8g_pb_WriteBuffer(pb, u8g, dev) == 0 )            return 0;        u8g_SetChipSelect(u8g, dev, 0);    }    break;    }    return u8g_dev_pb8v1_base_fn(u8g, dev, msg, arg);}
开发者ID:janblumenkamp,项目名称:rcj2015,代码行数:24,


示例22: u8g_dev_a2_micro_printer_fn

uint8_t u8g_dev_a2_micro_printer_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg){  switch(msg)  {    case U8G_DEV_MSG_INIT:      u8g_InitCom(u8g, dev, U8G_SPI_CLK_CYCLE_NONE);      break;    case U8G_DEV_MSG_STOP:      break;    case U8G_DEV_MSG_PAGE_NEXT:      {        uint8_t y, i, j;        uint8_t *ptr;        u8g_pb_t *pb = (u8g_pb_t *)(dev->dev_mem);        y = pb->p.page_y0;        ptr = (uint8_t*)pb->buf;	u8g_WriteByte(u8g, dev, 27);      /* ESC */	u8g_WriteByte(u8g, dev, 55 );      /* parameter command */	u8g_WriteByte(u8g, dev, 7);      /* Max printing dots,Unit(8dots),Default:7(64 dots) 8*(x+1)*/	u8g_WriteByte(u8g, dev, 160);      /* 3-255 Heating time,Unit(10us),Default:80(800us) */	u8g_WriteByte(u8g, dev, 20);      /* 0-255 Heating interval,Unit(10us),Default:2(20us)*/	u8g_WriteByte(u8g, dev, 18);      /* DC2 */	u8g_WriteByte(u8g, dev, 42 );      /* *  */	u8g_WriteByte(u8g, dev, pb->p.page_height );	u8g_WriteByte(u8g, dev, pb->width/8 );        for( i = 0; i < pb->p.page_height; i ++ )        {	  for( j = 0; j < pb->width/8; j++ )	  {	    u8g_WriteByte(u8g, dev, *ptr);	    ptr++;	  }	  u8g_Delay(LINE_DELAY);          y++;        }	/* set parameters back to their default values */	u8g_WriteByte(u8g, dev, 27);      /* ESC */	u8g_WriteByte(u8g, dev, 55 );      /* parameter command */	u8g_WriteByte(u8g, dev, 7);      /* Max printing dots,Unit(8dots),Default:7(64 dots) 8*(x+1)*/	u8g_WriteByte(u8g, dev, 80);      /* 3-255 Heating time,Unit(10us),Default:80(800us) */	u8g_WriteByte(u8g, dev, 2);      /* 0-255 Heating interval,Unit(10us),Default:2(20us)*/      }      break;  }  return u8g_dev_pb8h1_base_fn(u8g, dev, msg, arg);}
开发者ID:dima3dprinters,项目名称:DIMA-LT,代码行数:52,


示例23: U8G_ESC_DLY

/*  sequence := { direct_value | escape_sequence }  direct_value := 0..254  escape_sequence := value_255 | sequence_end | delay | adr | cs | not_used   value_255 := 255 255  sequence_end = 255 254  delay := 255 0..127  adr := 255 0x0e0 .. 0x0ef   cs := 255 0x0d0 .. 0x0df   not_used := 255 101..254#define U8G_ESC_DLY(x) 255, ((x) & 0x7f)#define U8G_ESC_CS(x) 255, (0xd0 | ((x)&0x0f))#define U8G_ESC_ADR(x) 255, (0xe0 | ((x)&0x0f))#define U8G_ESC_VCC(x) 255, (0xbe | ((x)&0x01))#define U8G_ESC_END 255, 254#define U8G_ESC_255 255, 255#define U8G_ESC_RST(x) 255, (0xc0 | ((x)&0x0f))*/uint8_t u8g_WriteEscSeqP(u8g_t *u8g, u8g_dev_t *dev, const uint8_t *esc_seq){  uint8_t is_escape = 0;  uint8_t value;  for(;;)  {    value = u8g_pgm_read(esc_seq);    if ( is_escape == 0 )    {      if ( value != 255 )      {        if ( u8g_WriteByte(u8g, dev, value) == 0 )          return 0;      }      else      {        is_escape = 1;      }    }    else    {      if ( value == 255 )      {        if ( u8g_WriteByte(u8g, dev, value) == 0 )          return 0;      }      else if ( value == 254 )      {        break;      }      else if ( value >= 0x0f0 )      {        /* not yet used, do nothing */      }      else if ( value >= 0xe0  )      {        u8g_SetAddress(u8g, dev, value & 0x0f);      }      else if ( value >= 0xd0 )      {        u8g_SetChipSelect(u8g, dev, value & 0x0f);      }      else if ( value >= 0xc0 )      {        u8g_SetResetLow(u8g, dev);        value &= 0x0f;        value <<= 4;        value+=2;        u8g_Delay(value);        u8g_SetResetHigh(u8g, dev);        u8g_Delay(value);      }      else if ( value >= 0xbe )      {	/* not yet implemented */        /* u8g_SetVCC(u8g, dev, value & 0x01); */      }      else if ( value <= 127 )      {        u8g_Delay(value);      }      is_escape = 0;    }    esc_seq++;  }  return 1;}
开发者ID:02047788a,项目名称:Marlin,代码行数:87,



注:本文中的u8g_WriteByte函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ u8g_WriteEscSeqP函数代码示例
C++ u8g_SetChipSelect函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。