static int pcapfile_init_output(libtrace_out_t *libtrace) { libtrace->format_data = malloc(sizeof(struct pcapfile_format_data_out_t)); if (!libtrace->format_data) { trace_set_err_out(libtrace, TRACE_ERR_INIT_FAILED, "Unable to allocate memory for " "format data inside pcapfile_init_output()"); return -1; } DATAOUT(libtrace)->file=NULL; DATAOUT(libtrace)->compress_type=TRACE_OPTION_COMPRESSTYPE_NONE; DATAOUT(libtrace)->level=0; DATAOUT(libtrace)->flag=O_CREAT|O_WRONLY; return 0; }
//写寄存器函数 void LCD_WR_REG(u8 data) { LCD_RS=0;//写地址 LCD_CS=0; DATAOUT(data); LCD_WR=0; LCD_WR=1; LCD_CS=1; }
//写寄存器函数 void LCD_WR_REG(u8 data) { LCD_RS_CLR;//写地址 LCD_CS_CLR; DATAOUT(data); LCD_WR_CLR; LCD_WR_SET; LCD_CS_SET; }
//------写数据函数(data:寄存器值)------ //可以替代LCD_WR_DATAX宏,拿时间换空间 void LCD_WR_DATAX(u16 data) { LCD_RS_SET; LCD_CS_CLR; DATAOUT(data); LCD_WR_CLR; LCD_WR_SET; LCD_CS_SET; }
//向SSD1306写入一个字节。 //dat:要写入的数据/命令 //cmd:数据/命令标志 0,表示命令;1,表示数据; void OLED_WR_Byte(u8 dat,u8 cmd) { DATAOUT(dat); OLED_RS=cmd; OLED_CS=0; OLED_WR=0; OLED_WR=1; OLED_CS=1; OLED_RS=1; }
//向SSD1106写入一个字节。 //dat:要写入的数据/命令 //cmd:数据/命令标志 0,表示命令;1,表示数据; void OLED_WR_Byte(u8 dat,u8 cmd) { DATAOUT(dat); if(cmd) OLED_DC_Set(); else OLED_DC_Clr(); OLED_CS_Clr(); OLED_WR_Clr(); OLED_WR_Set(); OLED_CS_Set(); OLED_DC_Set(); }
//写寄存器函数 //data:寄存器值 void LCD_WR_REG(uint16_t data) { LCD_RS_CLR;//写地址 delay_us(1); LCD_CS_CLR; delay_us(1); DATAOUT(data); LCD_WR_CLR; delay_us(10); LCD_WR_SET; delay_us(1); LCD_CS_SET; delay_us(1); }
//写数据函数 //可以替代LCD_WR_DATAX宏,拿时间换空间. //data:寄存器值 void LCD_WR_DATAX(uint16_t data) { LCD_RS_SET; delay_us(1); LCD_CS_CLR; delay_us(1); DATAOUT(data); delay_us(10); LCD_WR_CLR; delay_us(1); LCD_WR_SET; delay_us(1); LCD_CS_SET; delay_us(1); }
//向SSD1306写入一个字节。 //dat:要写入的数据/命令 //cmd:数据/命令标志 0,表示命令;1,表示数据; void OLED_WR_Byte(u8 dat,u8 cmd) { DATAOUT(dat); /*OLED_RS=cmd; OLED_CS=0; OLED_WR=0; OLED_WR=1; OLED_CS=1; OLED_RS=1; */ if (cmd) { GPIO_SetBits(OLED_RS); } else { GPIO_ResetBits(OLED_RS); } GPIO_ResetBits(OLED_CS); GPIO_ResetBits(OLED_WR); GPIO_SetBits(OLED_WR); GPIO_SetBits(OLED_CS); GPIO_SetBits(OLED_RS); }